ESP32 S3 - Türsensor
Lernen Sie, wie Sie mit Ihrem ESP32 S3 und einem magnetischen Türsensor den Zustand von Türen und Fenstern erkennen. Dieses einsteigerfreundliche Tutorial führt Sie durch alles, was Sie benötigen, um Öffnungs- und Schließereignisse mit dem ESP32 S3-Board zuverlässig zu überwachen.
Was Sie bauen werden:
- Eine Schaltung, die den magnetischen Türsensor mit dem ESP32 S3 verbindet
- Arduino-Code, der den Sensorzustand liest und erkennt, ob die Tür offen oder geschlossen ist
- Arduino-Code, der die Übergangsereignisse beim Öffnen und Schließen der Tür erkennt
- Eine Ausgabe im Seriellen Monitor, die den Türzustand in Echtzeit anzeigt

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Door Sensor
Der Türsensor (auch bekannt als Eingangssensor, Kontaktsensor oder Fenstersensor) wird häufig in Sicherheits- und Automatisierungsanwendungen eingesetzt, um zu erkennen, ob ein Eingang wie eine Tür oder ein Fenster offen oder geschlossen ist. Er besteht aus zwei separaten Komponenten — einem Magneten und einem Reedschalter —, die zusammenarbeiten, um dem ESP32 S3 ein einfaches und zuverlässiges digitales Signal zu liefern.
Wichtige Spezifikationen
Der Türsensor ist ein passives Zweidraht-Bauteil, das keine eigene externe Stromversorgung benötigt. Der Reedschalter ist ein magnetischer Schließer oder Öffner, der seinen Zustand ändert, wenn der zugehörige Magnet in die Nähe gebracht wird. Da sich der Sensor elektrisch genau wie ein Taster oder Schalter verhält, genügt der interne Pull-up-Widerstand des ESP32 S3, um ihn an jedem digitalen Eingangspin zuverlässig auszulesen.
Pinbelegung des Türsensors
Der Türsensor besteht aus zwei Komponenten, die für einen korrekten Betrieb gemeinsam montiert werden müssen.

- Magnet: Der bewegliche Teil — befestigen Sie ihn an der Tür oder dem Fenster selbst
- Reedschalter (zwei Drähte): Der feste Teil — befestigen Sie ihn am Türrahmen; verbinden Sie einen Draht mit GND und den anderen mit einem Eingangspin des ESP32 S3 mit Pull-up-Widerstand
Wie der Türsensor funktioniert
Der Magnet und der Reedschalter werden als zusammengehöriges Paar an der Tür bzw. am Fensterrahmen montiert. Der Magnet wird am beweglichen Teil (der Tür) befestigt, während der Reedschalter am Rahmen fixiert wird — beide Komponenten müssen sich bei geschlossener Tür in unmittelbarer Nähe befinden.
Befindet sich der Magnet in der Nähe des Reedschalters, schließen sich die internen Kontakte des Schalters und bilden einen geschlossenen Stromkreis. Wenn sich die Tür öffnet und der Magnet sich entfernt, öffnen sich die Kontakte wieder und unterbrechen den Stromkreis. Wenn Sie einen Draht des Reedschalters mit GND und den anderen mit einem Eingangspin des ESP32 S3 verbinden, der mit einem Pull-up-Widerstand konfiguriert ist, liest der Pin LOW, wenn die Tür geschlossen ist, und HIGH, wenn sie offen ist.
※ Notiz:
Genau wie bei einem Taster MÜSSEN Sie am mit dem Reedschalter verbundenen Pin des ESP32 S3 einen Pull-up- oder Pull-down-Widerstand verwenden, um einen schwebenden Eingangszustand zu vermeiden.
Also:
- Ist der Eingangspin des ESP32 S3 LOW, ist die Tür geschlossen
- Ist der Eingangspin des ESP32 S3 HIGH, ist die Tür geöffnet
- Wechselt der Eingangspin des ESP32 S3 von LOW auf HIGH, wird die Tür geöffnet
- Wechselt der Eingangspin des ESP32 S3 von HIGH auf LOW, wird die Tür geschlossen
Verdrahtungsdiagramm
Schließen Sie den Reedschalter des Türsensors wie im folgenden Diagramm gezeigt an den ESP32 S3 an. Ein Draht des Reedschalters wird mit GND verbunden, der andere mit einem digitalen Eingangspin des ESP32 S3, der den internen Pull-up-Widerstand des Boards nutzt, um bei geöffnetem Schalter einen definierten Logikpegel aufrechtzuerhalten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Der Reedschalter ist ein passives Niederspannungs-Bauteil mit geringem Strom, das sicher direkt an die GPIO-Pins des ESP32 S3 angeschlossen werden kann. Aktivieren Sie immer den internen Pull-up-Widerstand (INPUT_PULLUP), um bei geöffnetem Schalter einen schwebenden Eingang zu vermeiden; ohne ihn erhalten Sie sprunghafte und unzuverlässige Messwerte. Halten Sie die Sensorkabel von Leitungen mit hohem Strom fern, um induzierte elektrische Störungen zu vermeiden, die Fehlauslösungen verursachen könnten.
| Türsensor-Pin | ESP32 S3 Pin |
|---|---|
| Kabel 1 (Reedschalter) | GND |
| Kabel 2 (Reedschalter) | GPIO2 |
Wie man den Türsensor programmiert
Die Programmierung des ESP32 S3 zum Auslesen des Türsensors entspricht dem Vorgehen bei einem Taster oder Schalter. Die wichtigsten Schritte sind, den Pin mit dem internen Pull-up-Widerstand zu initialisieren und dann in jedem Schleifendurchlauf den digitalen Zustand zu lesen.
Schritt 1: Den Pin des ESP32 S3 initialisieren
Schritt 2: Den Türzustand lesen
ESP32 S3 Code - Öffnungs- und Schließzustand der Tür prüfen
Der folgende Code liest kontinuierlich den Reedschalter an GPIO2 und gibt in jedem Schleifenzyklus den aktuellen Türzustand — offen oder geschlossen — im Seriellen Monitor aus. Er konfiguriert den Pin mit dem internen Pull-up-Widerstand, sodass außer den Sensorkabeln keine externen Komponenten benötigt werden.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Folgen Sie dem obigen Verdrahtungsdiagramm, um den Reedschalter des Türsensors mit dem ESP32 S3 zu verbinden.
- Verbinden Sie Ihren ESP32 S3 über USB Typ-C mit Ihrem Computer.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Wählen Sie Ihr ESP32 S3-Board im Menü Tools > Board aus.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code zu übertragen.
- Öffnen Sie den Seriellen Monitor, indem Sie auf das entsprechende Symbol klicken oder Ctrl+Shift+M drücken.
- Stellen Sie die Baudrate im Dropdown-Menü des Seriellen Monitors auf 115200 ein.
- Bewegen Sie den Magneten nah an den Reedschalter, dann wieder weg, und beobachten Sie die Ausgabe.
- Profi-Tipp: Verwenden Sie INPUT_PULLUP statt INPUT, um keinen externen Pull-up-Widerstand hinzufügen zu müssen — der eingebaute Pull-up des ESP32 S3 übernimmt das für Sie.
Ausgabe im Seriellen Monitor
Wenn Sie den Magneten zum Reedschalter hin und von ihm weg bewegen, sehen Sie eine Ausgabe ähnlich der folgenden:
ESP32 S3 Code - Öffnungs- und Schließereignisse der Tür erkennen
Der folgende Code verfolgt den vorherigen und den aktuellen Zustand des Reedschalters, um genau den Moment zu erkennen, in dem die Tür von geschlossen zu offen (ein Öffnungsereignis) oder von offen zu geschlossen (ein Schließereignis) wechselt. Pro Ereignis wird nur eine einzige Meldung ausgegeben, was ideal ist, um Aktionen wie Alarme oder Protokolleinträge auszulösen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Folgen Sie dem obigen Verdrahtungsdiagramm, um den Reedschalter des Türsensors mit dem ESP32 S3 zu verbinden.
- Verbinden Sie Ihren ESP32 S3 über USB Typ-C mit Ihrem Computer.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Wählen Sie Ihr ESP32 S3-Board im Menü Tools > Board aus.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code zu übertragen.
- Öffnen Sie den Seriellen Monitor und stellen Sie die Baudrate auf 115200 ein.
- Bewegen Sie den Magneten nah an den Reedschalter und dann wieder weg, um beide Ereignisse auszulösen.
- Profi-Tipp: Verwenden Sie das Öffnungsereignis, um einen Timer zu starten, und das Schließereignis, um ihn zu stoppen — so können Sie berechnen, wie lange die Tür jeweils offen war.
Ausgabe im Seriellen Monitor
Wenn Türübergänge auftreten, sehen Sie eine Ausgabe ähnlich der folgenden:
Anwendungen
Der Türsensor in Kombination mit dem ESP32 S3 ermöglicht eine Vielzahl praktischer Sicherheits- und Automatisierungsprojekte, von einfachen Alarmen bis hin zu integrierten Smart-Home-Systemen.
- Heimsicherheitsalarm: Lösen Sie einen Summer aus oder senden Sie eine Push-Benachrichtigung, sobald eine Tür oder ein Fenster unerwartet geöffnet wird.
- Intelligente Türklingel: Erkennen Sie, wenn eine Tür geöffnet wird, und melden Sie ein Zutrittsereignis über einen angeschlossenen Lautsprecher oder ein Display.
- Energieeffizienz-Monitor: Erfassen Sie, wie oft und wie lange Kühlschrank- oder Schranktüren offen stehen, um Energieverschwendung zu reduzieren.
- Zutrittskontrollprotokoll: Zeichnen Sie Zeitstempel von Öffnungs- und Schließereignissen auf einer SD-Karte oder einem Cloud-Server für Prüfprotokolle auf.
- Kindersicherung: Alarmieren Sie Eltern, wenn eine verbotene Tür (etwa eine Garage oder ein Gartentor) geöffnet wird.
- Automatische Beleuchtung: Schalten Sie beim Öffnen einer Tür das Raumlicht ein und schalten Sie es aus, nachdem die Tür eine festgelegte Zeit lang geschlossen war.
Video Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.
Fordern Sie sich selbst heraus
Sobald Ihr Türsensor funktioniert, probieren Sie diese Herausforderungen aus, um Ihre ESP32 S3-Kenntnisse zu vertiefen — beginnend mit einfachen Ergänzungen bis hin zu fortgeschrittenen vernetzten Funktionen.
- Anfänger: Fügen Sie eine LED hinzu, die leuchtet, wenn die Tür offen ist, und erlischt, wenn sie geschlossen ist.
- Anfänger: Zählen Sie, wie oft die Tür seit dem Einschalten des Boards geöffnet wurde, und zeigen Sie die Gesamtzahl im Seriellen Monitor an.
- Fortgeschritten: Fügen Sie einen Summer hinzu, der bei jedem erkannten Öffnungsereignis 2 Sekunden lang ertönt.
- Fortgeschritten: Zeigen Sie den aktuellen Türzustand (OFFEN / GESCHLOSSEN) in Echtzeit auf einem OLED- oder LCD-Display an.
- Experte: Bauen Sie einen Türöffnungs-Timer, der jedes Mal misst, wie viele Sekunden die Tür offen bleibt, und die längste Dauer im Seriellen Monitor protokolliert.
- Experte: Erstellen Sie ein WLAN-verbundenes Alarmsystem, das bei jeder Änderung des Türzustands eine HTTP-Anfrage an einen Hausautomatisierungsserver sendet.