ESP32 C3 Super Mini - Türsensor

Ein Türsensor ist ein winziges, günstiges Bauteil, das Ihrem ESP32 C3 Super Mini mitteilt, ob eine Tür oder ein Fenster offen oder geschlossen ist. Er ist das Herzstück fast jedes DIY-Sicherheitsprojekts für das Zuhause. Dieses Tutorial zeigt Ihnen Schritt für Schritt, wie Sie einen Türsensor mit dem ESP32 C3 Super Mini verdrahten und programmieren.

In diesem Tutorial lernen Sie:

ESP32 C3 Super Mini - Türsensor

Erforderliche Hardware

1×ESP32 C3 Super Mini
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×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel

Oder Sie können die folgenden Kits kaufen:

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.

Überblick über Door Sensor

Ein Türsensor ist ein Magnetschalter, der einen Stromkreis öffnet oder schließt, wenn sich ein Magnet ihm nähert oder sich von ihm entfernt.

Andere Bezeichnungen:

  • Eingangssensor
  • Kontaktsensor
  • Fenstersensor
  • Magnetkontaktschalter

Hauptmerkmale:

  • Sehr günstig und sehr einfach zu verwenden
  • Der Sensor selbst benötigt keine Stromversorgung
  • Funktioniert für Ihren ESP32 C3 Super Mini wie ein einfacher Taster
  • Keine beweglichen Teile, die verschleißen können
  • Leicht in einem Türrahmen zu verstecken

Technische Daten:

  • Typ: Reedschalter (Schließer) plus Magnet
  • Ausgang: Einfacher EIN/AUS-Kontakt (keine Spannung, keine Daten)
  • Schaltabstand: Etwa 15-25 mm zwischen Magnet und Schalter
  • Logikpegel: Sicher für die Pins des ESP32 C3 Super Mini, die nur 3,3V vertragen
  • Drähte: 2 Drähte, ohne Polarität

Pinbelegung des Türsensors

Der Türsensor besteht aus zwei getrennten Teilen.

  • Magnet: Der bewegliche Teil. Keine Drähte.
  • Reedschalter: Der feste Teil. Er hat zwei Drähte.
Türsensor Pinbelegung
  • Draht 1: Keine Polarität. Kann mit GND oder mit dem ESP32 C3 Super Mini Pin verbunden werden.
  • Draht 2: Keine Polarität. Kann mit GND oder mit dem ESP32 C3 Super Mini Pin verbunden werden.

Genau wie bei einem Taster müssen wir die beiden Drähte des Reedschalters NICHT unterscheiden.

Wie der Türsensor funktioniert

Magnet und Reedschalter werden so montiert, dass sie bei geschlossener Tür nebeneinander liegen.

  • Magnet: Befestigen Sie ihn an der Tür oder am Fenster (dem beweglichen Teil)
  • Reedschalter: Befestigen Sie ihn am Türrahmen (dem feststehenden Teil)
  • Tür geschlossen: Die beiden Teile befinden sich nah beieinander
  • Tür offen: Die beiden Teile sind weit voneinander entfernt
Funktionsweise des Türsensors

Was im Reedschalter passiert:

  • Magnet nah: Der Stromkreis ist geschlossen (die beiden Drähte sind verbunden)
  • Magnet fern: Der Stromkreis ist offen (die beiden Drähte sind nicht verbunden)

※ Notiz:

Genau wie bei einem Taster MÜSSEN wir am ESP32 C3 Super Mini Pin, der mit dem Reedschalter verbunden ist, einen Pull-up- oder Pull-down-Widerstand verwenden. Ohne ihn ist der Pin-Zustand zufällig. Die gute Nachricht: Der ESP32 C3 Super Mini hat einen eingebauten Pull-up-Widerstand, sodass Sie kein zusätzliches Bauteil benötigen.

Wenn wir den Reedschalter mit einem Draht an GND und mit dem anderen an einen Eingangspin des ESP32 C3 Super Mini mit Pull-up-Widerstand anschließen:

  • Magnet nahe am Reedschalter: Der Eingangspin ist LOW
  • Magnet weit vom Reedschalter entfernt: Der Eingangspin ist HIGH

Im Code bedeutet das also:

  • Pin ist LOW: Die Tür ist geschlossen
  • Pin ist HIGH: Die Tür ist offen
  • Pin wechselt von LOW zu HIGH: Die Tür öffnet sich
  • Pin wechselt von HIGH zu LOW: Die Tür schließt sich

Schaltplan zwischen Türsensor und ESP32 C3 Super Mini

Für die Verdrahtung eines Türsensors mit dem ESP32 C3 Super Mini sind nur zwei Drähte nötig.

  • Hinweis: Der ESP32 C3 Super Mini arbeitet ausschließlich mit 3,3V. Legen Sie niemals ein 5V-Signal an einen GPIO-Pin an.
  • Hinweis: Der Reedschalter hat keine Polarität, daher können die beiden Drähte vertauscht werden.
  • Hinweis: Halten Sie Magnet und Reedschalter bei geschlossener Tür innerhalb von etwa 15 mm zueinander.
  • Hinweis: Verwenden Sie nicht GPIO8 oder GPIO9. Dies sind Boot-Strapping-Pins.
ESP32 C3 Super Mini Türsensor Schaltplan

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

Türsensor-Pin ESP32 C3 Super Mini Pin
Reedschalter Draht 1 GPIO7
Reedschalter Draht 2 GND

Wie man den Türsensor programmiert

Für die Programmierung eines Türsensors am ESP32 C3 Super Mini sind nur zwei Funktionen nötig.

  • Den Pin als Eingang mit eingebautem Pull-up konfigurieren, indem Sie die Funktion pinMode() verwenden. Zum Beispiel GPIO7:
pinMode(7, INPUT_PULLUP);
  • Den Zustand des Pins auslesen, indem Sie die Funktion digitalRead() verwenden:
int door_state = digitalRead(7);
  • Tipp: INPUT_PULLUP aktiviert den Widerstand im Inneren des ESP32 C3 Super Mini, sodass kein zusätzlicher Widerstand benötigt wird.

ESP32 C3 Super Mini Code - Offen- und Geschlossen-Zustand der Tür prüfen

Dieses erste Beispiel gibt den Türzustand immer wieder im Seriellen Monitor aus.

Was dieser Code macht:

  • Konfiguriert GPIO7 als Eingang mit dem internen Pull-up-Widerstand
  • Liest den Zustand des Türsensors in jedem Schleifendurchlauf aus
  • Gibt "The door is open" aus, wenn der Pin HIGH ist
  • Gibt "The door is closed" aus, wenn der Pin LOW ist
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-door-sensor */ #define DOOR_SENSOR_PIN 7 // The ESP32 C3 SuperMini pin connected to door sensor's pin int door_state; void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Schnelle Schritte

  • Neu beim ESP32 C3 Super Mini? Arbeiten Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Super Mini durch, um Ihre Entwicklungsumgebung einzurichten.
  • Bauteile verdrahten: Folgen Sie dem obigen Schaltplan. Reedschalter an GPIO7 und GND.
  • Board anschließen: Verbinden Sie den ESP32 C3 Super Mini über ein USB-Type-C-Kabel mit Ihrem Computer.
  • Arduino IDE öffnen: Starten Sie die Software auf Ihrem Computer.
  • Board auswählen: Stellen Sie sicher, dass unter Werkzeuge > Board der ESP32 C3 Super Mini ausgewählt ist.
  • Port auswählen: Wählen Sie unter Werkzeuge > Port den COM-Port Ihres Boards.
  • Code kopieren: Fügen Sie den obigen Code in die Arduino IDE ein.
  • Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
  • Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
  • Testen: Bewegen Sie den Magneten nah an den Reedschalter und dann weit weg.
  • Ergebnis prüfen: Beobachten Sie den Seriellen Monitor. Die Ausgabe sieht wie unten aus.
  • Profi-Tipp: Wenn sich der Zustand nie ändert, bringen Sie den Magneten näher heran. Die meisten Reedschalter benötigen einen Abstand von etwa 15 mm oder weniger.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The door is open The door is open The door is closed The door is closed The door is closed The door is closed The door is closed The door is open The door is open
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

ESP32 C3 Super Mini Code - Ereignisse beim Öffnen und Schließen der Tür erkennen

Der erste Code teilt Ihnen den Zustand mit. Dieser zweite Code teilt Ihnen den Moment mit, in dem sich der Zustand ändert.

Was dieser Code macht:

  • Speichert den Türzustand aus dem vorherigen Schleifendurchlauf
  • Liest den neuen Türzustand von GPIO7 aus
  • Gibt einmalig eine Meldung aus, wenn die Tür beginnt, sich zu öffnen (LOW zu HIGH)
  • Gibt einmalig eine Meldung aus, wenn die Tür beginnt, sich zu schließen (HIGH zu LOW)
  • Bietet Ihnen eine saubere Stelle, um einen Alarm, ein Licht oder eine Benachrichtigung hinzuzufügen
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-door-sensor */ #define DOOR_SENSOR_PIN 7 // The ESP32 C3 SuperMini pin connected to door sensor's pin int door_state; // current state of door sensor int prev_door_state; // previous state of door sensor void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == LOW && door_state == HIGH) { // state change: LOW -> HIGH Serial.println("The door-opening event is detected"); // TODO: turn on alarm, light or send notification ... } else if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // TODO: turn off alarm, light or send notification ... } }

Schnelle Schritte

  • Neu beim ESP32 C3 Super Mini? Arbeiten Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Super Mini durch, um Ihre Entwicklungsumgebung einzurichten.
  • Gleiche Verdrahtung beibehalten: Der Reedschalter bleibt an GPIO7 und GND.
  • Code kopieren: Fügen Sie den obigen Code in die Arduino IDE ein.
  • Board auswählen: Stellen Sie sicher, dass unter Werkzeuge > Board der ESP32 C3 Super Mini ausgewählt ist.
  • Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
  • Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
  • Testen: Bewegen Sie den Magneten nah an den Reedschalter und dann weit weg.
  • Ergebnis prüfen: Für jede Änderung wird nur eine Zeile ausgegeben.
  • Profi-Tipp: Suchen Sie nach den // TODO-Kommentaren im Code. Dort fügen Sie Ihren Summer oder Ihre LED hinzu.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The door-closing event is detected The door-opening event is detected The door-closing event is detected The door-opening event is detected
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Zeilenweise Code-Erklärung

Der obige ESP32 C3 Super Mini Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!

Anwendungs- und Projektideen

Hier sind einige unterhaltsame Möglichkeiten, einen Türsensor mit Ihrem ESP32 C3 Super Mini zu verwenden.

  • Türalarm: Einen Summer ertönen lassen, wenn sich die Tür öffnet, während Sie nicht zu Hause sind.
  • Eingangszähler: Zählen, wie oft die Tür heute geöffnet wurde.
  • Automatisches Licht: Einen LED-Streifen einschalten, sobald sich eine Schranktür öffnet.
  • Kühlschrankwächter: Warnen, wenn die Kühlschranktür zu lange offen steht.
  • Briefkasten-Alarm: Eine Nachricht senden, wenn die Briefkastenklappe geöffnet wird.
  • Fenstermonitor: Alle Fenster prüfen, bevor Sie ins Bett gehen.

Fordern Sie sich heraus

Probieren Sie diese kleinen Projekte aus, um mit dem Türsensor und dem ESP32 C3 Super Mini zu üben.

  • Einfach: Schalten Sie eine LED an GPIO3 ein, solange die Tür offen ist.
  • Einfach: Geben Sie den Türzustand nur aus, wenn er sich ändert, nicht in jedem Schleifendurchlauf.
  • Mittel: Fügen Sie einen Summer hinzu, der bei jedem Öffnen der Tür dreimal piept.
  • Mittel: Zählen Sie, wie oft die Tür geöffnet wird, und geben Sie die Gesamtzahl im Seriellen Monitor aus.
  • Fortgeschritten: Starten Sie einen Timer, wenn sich die Tür öffnet, und lösen Sie einen Alarm aus, wenn sie nach 30 Sekunden noch offen ist.
  • Fortgeschritten: Nutzen Sie das WLAN des ESP32 C3 Super Mini, um bei jedem Öffnen der Tür eine Benachrichtigung an Ihr Handy zu senden.

Verwandte Tutorials

※ 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!