ESP8266 - Taster - LED

Dieses Tutorial erklärt dir, wie man den ESP8266 und einen Taster verwendet, um die LED zu steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Der Zustand der LED ist mit dem Zustand des Tasters synchronisiert. Im Detail:

Anwendung 2 - Der LED-Status wird bei jedem Drücken der Taste umgeschaltet. Genauer gesagt:

In der Anwendung 2 müssen wir den Knopf entprellen, damit er ordnungsgemäß funktioniert. Wir werden herausfinden, warum das wichtig ist, indem wir vergleichen, wie sich die LED verhält, wenn wir den ESP8266-Code mit und ohne Entprellen des Knopfs verwenden.

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×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
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 Knopf

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

Verdrahtungsdiagramm

ESP8266 NodeMCU Taster-LED-Schaltplan

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 Tastenzustand synchron

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-button-led */ #define BUTTON_PIN D1 // The ESP8266 pin D1 connected to button #define LED_PIN D7 // The ESP8266 pin D7 connected to led int button_state = 0; // variable for reading the button status void setup() { // Configure the LED pin as a digital output pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin as a pull-up input: HIGH when the button is open, LOW when pressed. pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // read the state of the button value: button_state = digitalRead(BUTTON_PIN); // control LED according to the state of button if (button_state == LOW) // if button is pressed digitalWrite(LED_PIN, HIGH); // turn on LED else // otherwise, button is not pressing 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 die Anleitung zur Einrichtung der ESP8266-Umgebung in der Arduino-IDE an, falls dies dein erster Einsatz von ESP8266 ist.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • 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, z. B. NodeMCU 1.0 (ESP-12E Module), und seinen jeweiligen COM-Port.
  • Schließe einen ESP8266 über ein USB-Kabel an deinen Computer an.
  • Starte die Arduino-IDE und wähle das passende Board und 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
  • Drücken Sie den Knopf und halten Sie ihn einige Sekunden lang gedrückt.
  • Überprüfen Sie die Veränderung des Zustands der LED.

Sie werden sehen, dass der LED-Zustand mit dem Knopfzustand 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 – Knopf schaltet LED um

ESP8266-Code - Knopf schaltet LED ohne Entprellung

/* * 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-button-led */ #define BUTTON_PIN D1 // The ESP8266 pin D1 connected to button #define LED_PIN D7 // The ESP8266 pin D7 connected to led int led_state = LOW; // The current state of LED int button_state; // The current state of button int last_button_state; // The previous state of button void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_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 button_state = digitalRead(BUTTON_PIN); } void loop() { last_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if (last_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // 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 entspricht der Ausdruck led_state = !led_state 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.
  • Drücke Reset und den Knopf mehrmals.
  • Schau dir die Änderung des LED-Zustands an.

Sie können beobachten, dass der LED-Zustand jedes Mal umgeschaltet wird, wenn der Knopf gedrückt wird. Dieses Verhalten ist jedoch nicht immer konsistent. Manchmal kann der LED-Zustand während eines einzelnen Tastendrucks schnell mehrfach umgeschaltet werden, oder er schaltet überhaupt nicht um (zweimal hintereinander schnell umgeschaltet, was mit bloßem Auge schwer zu erkennen ist).

⇒ Um dieses Problem zu lösen, müssen wir die Entprellung des Knopfs anwenden.

ESP8266-Code - Taste schaltet LED mit Entprellung

Das Entprellen eines Tasters kann für Anfänger eine Herausforderung darstellen. Glücklicherweise macht die ezButton-Bibliothek das einfach.

Warum ist die Entprellung notwendig? Für weitere Informationen siehe das ESP8266 - Button Debounce Tutorial.

/* * 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-button-led */ #include <ezButton.h> #define BUTTON_PIN D1 // The ESP8266 pin D1 connected to button #define LED_PIN D7 // The ESP8266 pin D7 connected to led ezButton button(BUTTON_PIN); // create ezButton object for pin 7; int led_state = LOW; // The current state of LED void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if (button.isPressed()) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED according to the toggleed sate digitalWrite(LED_PIN, led_state); } }

Schnelle Schritte

  • Installiere die ezButton-Bibliothek. Siehe Anleitung für Anweisungen.
  • Kopiere den Code und öffne ihn mit der Arduino-IDE.
  • Klicke auf den Upload-Button in der Arduino-IDE, um den Code auf den ESP8266 hochzuladen.
  • Drücke den Knopf mehrmals.
  • Beobachte die Änderung des LED-Zustands.

Sie werden sehen, dass der Zustand der LED bei jedem Tastendruck genau 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!