ESP8266 - Türsensor - LED

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 und einen Türsensor verwenden, um die LED zu steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Die LED ist an, wenn die Tür offen ist, und die LED ist aus, wenn die Tür geschlossen ist. Der Zustand der LED ist mit dem Zustand des Türsensors synchronisiert. Im Detail:

Anwendung 2 - Der LED-Status wird bei jedem Öffnen der Tür umgeschaltet. Genauer gesagt:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über LED- und Türsensoren

Wenn Sie mit LED- und Türsensoren (einschließlich Pinbelegung, Betrieb und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

ESP8266 NodeMCU Türsensor LED-Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Anwendung 1 - Der LED-Zustand ist mit dem Zustand des Türsensors synchronisiert.

ESP8266-Code

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-door-sensor-led */ #define DOOR_SENSOR_PIN D7 // The ESP8266 pin D7 connected to the OUTPUT pin of door sensor #define LED_PIN D2 // The ESP8266 pin D2 connected to LED's pin int door_state; void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // Configure the ESP8266 pin to the input pull-up mode pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open, turns on LED"); digitalWrite(LED_PIN, HIGH); // turn on LED } else { Serial.println("The door is closed, turns off LED"); digitalWrite(LED_PIN, LOW); // turn off LED } }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial zur Einrichtung der ESP8266-Entwicklungsumgebung in der Arduino IDE an, falls du ESP8266 zum ersten Mal verwendest.
  • Verdrahte die Komponenten gemäß dem Diagramm.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und den entsprechenden COM-Port.
  • Verbinde einen ESP8266 über ein USB-Kabel mit deinem Computer.
  • Starte die Arduino IDE und wähle das richtige Board sowie den passenden Port aus.
  • Kopiere den Code und öffne ihn in der Arduino IDE.
  • Klicke auf die Upload-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
Arduino IDE Code hochladen
  • Öffne die Tür und schließe sie.
  • Überprüfe die Änderung des LED-Zustands.

Sie werden sehen, dass der Zustand der LED mit dem Zustand des Türsensors synchronisiert ist.

Code-Erklärung

Schau dir die Zeile-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

Anwendung 2 - Türsensor schaltet LED um

ESP8266-Code - Türsensor schaltet LED um

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-door-sensor-led */ #define DOOR_SENSOR_PIN D7 // The ESP8266 pin D7 connected to the OUTPUT pin of door sensor #define LED_PIN D2 // The ESP8266 pin D2 connected to LED's pin int led_state = LOW; // The current state of LED int prev_door_state; // The previous state of door sensor int door_state; // The current state of door sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // Configure the ESP8266 pin to the input pull-up mode pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode door_state = digitalRead(DOOR_SENSOR_PIN); } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected, toggles the state of LED"); // toggle state of LED led_state = !led_state; // control LED according to the toggled state digitalWrite(LED_PIN, led_state); } }

Code-Erklärung

Sie können die Erklärung in den Kommentarzeilen des oben gezeigten ESP8266-Codes finden.

Im Code ist der Ausdruck led_state = !led_state gleich dem folgenden Code:

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Schnelle Schritte

  • Kopiere den Code und öffne ihn in der Arduino IDE.
  • Lade den Code auf den ESP8266 hoch.
  • Öffne und schließe die Tür mehrmals.
  • Überprüfe die Veränderung des Zustands der LED.

Sie werden sehen, dass der LED-Status bei jeder Türschließung einmal umgeschaltet wird.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

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