ESP32 S3 - Türsensor - LED umschalten

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem magnetischen Türsensor verwenden, um bei jedem Schließen der Tür eine LED umzuschalten. Indem Sie einen Türsensor auf Reedschalter-Basis an einen GPIO-Eingang und eine LED an einen GPIO-Ausgang anschließen, lernen Sie praxisnah, wie Sie Änderungen des Türzustands erkennen und mit dem ESP32 S3 durch eine umgeschaltete optische Anzeige darauf reagieren.

Was Sie bauen werden:

  1. Eine Schaltung, die einen magnetischen Türsensor und eine LED mit dem ESP32 S3 verbindet
  2. Einen Sketch, der den Ausgangspin des Türsensors am ESP32 S3 ständig überwacht
  3. Ein System, das den LED-Zustand bei jedem Schließen der Tür umschaltet und bei jedem Schließvorgang zwischen Ein und Aus wechselt
  4. Eine Grundlage für den Bau türgesteuerter Alarme, Zutrittszähler und Zugangsüberwachungsprojekte

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Türsensor
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativ) Button and LED Kit
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Überblick über LED and Door Sensor

Ein magnetischer Türsensor kombiniert ein Reedschalter-Element mit einem Permanentmagneten, um zu erkennen, ob eine Tür oder ein Fenster offen oder geschlossen ist. Wird der Magnet nah an den Reedschalter gebracht, schließen sich die Schaltkontakte und ziehen den GPIO-Pin des ESP32 S3 auf LOW; wird der Magnet entfernt, öffnen sich die Kontakte und der Pin kehrt auf HIGH zurück. Der ESP32 S3 erkennt diesen Wechsel und schaltet den LED-Zustand bei jedem Schließvorgang um, sodass die LED mit jedem Schließen der Tür zwischen Ein und Aus wechselt.

Wichtige Spezifikationen

Wir haben spezielle Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Pinbelegung der Hardware, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 S3 und zum Arduino-Code. Mehr dazu erfahren Sie unter den folgenden Links:

Verdrahtungsdiagramm

Schließen Sie den Türsensor und die LED gemäß dem folgenden Diagramm an Ihren ESP32 S3 an. Überprüfen Sie alle Verbindungen, bevor Sie die Stromversorgung anlegen, und achten Sie besonders auf die Polarität der LED und die Platzierung des 220-Ohm-Vorwiderstands.

ESP32 S3 Türsensor LED umschalten Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Mit einem Steckbrett stecken Sie die LED und den 220-Ohm-Widerstand wie unten gezeigt:

ESP32 S3 Türsensor LED umschalten Verdrahtungsdiagramm (Steckbrett)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn das Projekt lange laufen oder in einem Gehäuse sitzen soll, ist es besser, die Kabel festzuschrauben. Verwenden Sie in diesem Fall ein Schraubklemmen-Board für ESP32 S3. Der ESP32 S3 wird darauf gesteckt, und jeder Pin bekommt eine Schraubklemme. Das Diagramm unten zeigt die Version mit Schraubklemmen.

ESP32 S3 Türsensor LED umschalten Verdrahtungsdiagramm (Screw Terminal)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Oder stecken Sie den ESP32 S3 auf ein GPIO-Breakout-Board für ESP32 S3. Dieselbe Verdrahtung sieht dann so aus:

ESP32 S3 Türsensor LED umschalten Verdrahtungsdiagramm (GPIO Breakout Board)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Sicherheitshinweise

Schalten Sie immer den 220-Ohm-Vorwiderstand in Reihe mit der LED, um zu vermeiden, dass zu viel Strom über den GPIO-Pin des ESP32 S3 fließt, was den Mikrocontroller dauerhaft beschädigen kann. Der magnetische Türsensor ist ein passiver Reedschalter, der vernachlässigbar wenig Strom zieht und direkt an jeden digitalen GPIO-Eingang des ESP32 S3 angeschlossen werden kann, wenn der interne Pull-up-Widerstand in der Firmware aktiviert ist.

ESP32 S3 Code

Der folgende Code überwacht den an den ESP32 S3 angeschlossenen Türsensor und schaltet den LED-Zustand bei jedem Schließen der Tür um. Der Sketch verwendet eine Flankenerkennung, um nur auf die fallende Flanke des Sensorsignals zu reagieren — den Moment, in dem die Tür von offen zu geschlossen wechselt. So wird sichergestellt, dass die LED pro Schließvorgang genau einmal umschaltet und nicht ständig, solange die Tür geschlossen bleibt.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-door-sensor-toggle-led */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-door-sensor-toggle-led */ #define DOOR_SENSOR_PIN 2 // ESP32-S3 pin GPIO2 connected to door sensor's pin #define LED_PIN 38 // ESP32-S3 pin GPIO38 connected to LED's pin // variables will change: int ledState = LOW; // the current state of LED int lastDoorState; // the previous state of door sensor int currentDoorState; // the current state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32-S3 pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set ESP32-S3 pin to output mode currentDoorState = digitalRead(DOOR_SENSOR_PIN); } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected, toggles the state of LED"); // toggle state of LED ledState = !ledState; // control LED arccoding to the toggled state digitalWrite(LED_PIN, ledState); } }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahten Sie die Komponenten gemäß dem oben gezeigten Verdrahtungsdiagramm.
  3. Verbinden Sie das ESP32 S3-Board über ein USB-Typ-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie im Menü Tools das richtige ESP32 S3-Board und den COM-Port aus.
  6. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  7. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.
Arduino IDE Code hochladen
  1. Bewegen Sie den Magneten nah an den Reedschalter und dann wieder weg. Wiederholen Sie dies mehrmals.
  2. Beobachten Sie, wie der LED-Zustand jedes Mal umschaltet, wenn der Magnet genähert wird (Tür geschlossen).
  3. Prüfen Sie den Seriellen Monitor, um den aktuellen Tür- und LED-Zustand in Echtzeit zu sehen.
  4. Profi-Tipp: Im Code ist ledState = !ledState eine kompakte Möglichkeit, die LED zwischen HIGH und LOW umzuschalten. Dies entspricht genau der Prüfung des aktuellen Zustands mit einem if/else-Block und der Zuweisung des entgegengesetzten Werts — verwenden Sie dieses Muster, wann immer Sie in Ihren ESP32 S3-Sketches eine boolesche Variable umschalten müssen.

Ausgabe im Seriellen Monitor

Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Daten des Türsensors in Echtzeit liest. Jede Zeile zeigt den aktuellen Türzustand und den entsprechenden LED-Zustand, der durch das Schließereignis umgeschaltet wurde.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:14:01] Door: OPEN | LED: OFF [2026-06-16 09:14:03] Door: CLOSED → LED toggled: ON [2026-06-16 09:14:06] Door: OPEN | LED: ON [2026-06-16 09:14:09] Door: CLOSED → LED toggled: OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungs- und Projektideen

Sobald Sie mit dem ESP32 S3 eine LED über einen Türsensor umschalten können, lässt sich dieses Muster auf eine Vielzahl von Türüberwachungs- und Zutrittskontrollprojekten erweitern.

  1. Zutrittszähler: Erhöhen Sie bei jedem Schließen der Tür einen Zähler und zeigen Sie die Gesamtzahl der Zutritte auf einem am ESP32 S3 angeschlossenen OLED- oder LCD-Display an.
  2. Sicherheitsalarmsystem: Ersetzen Sie die LED durch einen Piezo-Summer oder eine über ein Relais angeschlossene Sirene, die bei unerwartetem Öffnen der Tür einschaltet und so einen hörbaren Einbruchsalarm liefert.
  3. Schrankzugriffsprotokoll: Protokollieren Sie jedes Öffnen und Schließen der Tür mit Zeitstempel auf einer SD-Karte, damit Sie den Zugriffsverlauf auf einen gesicherten Schrank oder ein Gehäuse einsehen können.
  4. Intelligente Benachrichtigung: Nutzen Sie die WLAN-Verbindung des ESP32 S3, um eine E-Mail oder MQTT-Nachricht an eine Hausautomatisierungsplattform zu senden, sobald der Türsensor ein Öffnen oder Schließen erkennt.
  5. Automatische Beleuchtung: Schalten Sie bei jedem Öffnen der Tür eines Abstellraums eine relaisgesteuerte Lampe um, sodass das Licht beim Betreten ein- und beim Verlassen ausgeht, ohne dass ein Wandschalter nötig ist.
  6. Kindersicherheitsmonitor: Alarmieren Sie Eltern über einen Summer oder eine Web-Benachrichtigung, sobald eine Tür zu einem gesperrten Bereich — etwa ein Medikamentenschrank oder eine Garage — geöffnet wird.

Video Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.

Fordern Sie sich selbst heraus

Da Sie nun eine LED mit einem Türsensor am ESP32 S3 umschalten können, probieren Sie diese zunehmend anspruchsvolleren Erweiterungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere Türüberwachungssysteme zu bauen.

  1. Anfänger: Fügen Sie eine Meldung im Seriellen Monitor hinzu, die fortlaufend ausgibt, wie oft die Tür seit dem letzten Einschalten des ESP32 S3 geschlossen wurde.
  2. Anfänger: Fügen Sie eine zweite LED an einem anderen GPIO-Pin hinzu, die den Türzustand direkt widerspiegelt — an bei geschlossener und aus bei offener Tür —, während die erste LED weiterhin bei jedem Schließvorgang umschaltet.
  3. Fortgeschritten: Fügen Sie einen Taster hinzu, der die LED auf AUS zurücksetzt und einen Schließzähler auf null zurückstellt, ohne dass der ESP32 S3 neu gestartet werden muss.
  4. Fortgeschritten: Schließen Sie ein I2C-OLED-Display an den ESP32 S3 an und zeigen Sie einen Live-Zähler der Schließvorgänge zusammen mit dem aktuellen LED-Zustand an, wobei die Anzeige in Echtzeit aktualisiert wird.
  5. Experte: Senden Sie bei jedem Schließen des Türsensors eine E-Mail oder MQTT-Nachricht an eine Hausautomatisierungsplattform und nutzen Sie dafür die WLAN-Verbindung des ESP32 S3, um Türereignisse aus der Ferne zu melden.
  6. Experte: Bauen Sie ein Mehrtür-Überwachungssystem mit zwei Türsensoren an separaten GPIO-Pins, zeigen Sie den Zustand jeder Tür auf einem LCD an und schalten Sie für jede Tür eine eigene LED um.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!