ESP8266 - LED - Blinken ohne Verzögerung
Stellen wir uns vor, dass der ESP8266 zwei Aufgaben zu erfüllen hat: das Blinken einer LED und die Überwachung des Zustands eines Tasters, der jederzeit gedrückt werden kann. Wenn wir die Funktion delay() verwenden (wie in einem früheren Tutorial erläutert), könnte der ESP8266 möglicherweise einige der Tastendrücke verpassen. Mit anderen Worten wäre der ESP8266 nicht in der Lage, die zweite Aufgabe vollständig auszuführen.
Dieses Tutorial zeigt dir, wie du den ESP8266 dazu bringst, eine LED blinken zu lassen, und den Zustand eines Knopfs zu überwachen, ohne auch nur einen einzigen Knopfdruck zu verpassen.
Wir werden drei Beispiele durchgehen und die Unterschiede zwischen ihnen vergleichen:
- ESP8266 blinkt eine LED mit der delay()-Funktion
- ESP8266 blinkt eine LED mit der millis()-Funktion
- ESP8266 blinkt eine LED mit der ezLED-Bibliothek
Diese Methode beschränkt sich nicht nur auf das Blinken der LED und das Prüfen des Zustands des Knopfs. Sie ermöglicht es dem ESP8266 im Allgemeinen, mehrere Aufgaben gleichzeitig auszuführen, ohne sich gegenseitig zu blockieren.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.
Über LED und Taster
Wenn Sie mit LED und Taster nicht vertraut sind (Pinbelegung, Funktionalität, Programmierung ...), können Ihnen die folgenden Tutorials helfen:
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.
ESP8266 Code - Mit Verzögerung
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schau dir das Tutorial wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, falls du ESP8266 zum ersten Mal verwendest.
- Verdrahte die Komponenten wie im Diagramm gezeigt.
- Schließe das ESP8266-Board über ein 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-Modul), und seinen jeweiligen COM-Port.
- Stecke das USB-Kabel in das ESP8266-Board und in den PC.
- Starte die Arduino IDE, wähle das richtige Board und den richtigen Port aus.
- Kopiere den Code und öffne ihn in der Arduino IDE.
- Klicke in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code zu kompilieren und auf den ESP8266 hochzuladen.

- Öffne den seriellen Monitor.
- Drücke den Knopf viermal.
- Schau dir die LED an; sie wechselt jede Sekunde zwischen Ein und Aus.
- Schau dir die Ausgabe im seriellen Monitor an.
- Im seriellen Monitor wurden einige Drückzeiten nicht registriert. Das liegt daran, dass der ESP8266 während einer Verzögerung keine Aufgaben ausführen kann. Folglich kann er das Drückereignis nicht erkennen.
ESP8266 Code - Ohne Verzögerung
Schnelle Schritte
- Verbinden Sie die Bauteile wie im Diagramm gezeigt.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
- Führen Sie den Code aus und drücken Sie den Knopf viermal.
- Schauen Sie sich die LED an, die sich in regelmäßigen Abständen von einer Sekunde abwechselnd ein- und ausschaltet.
- Überprüfen Sie die Ausgabe im seriellen Monitor.
- Alle Vorkommnisse von dringenden Angelegenheiten wurden identifiziert.
Code-Erklärung
Schau dir die zeilenweise Erklärung in den Kommentaren des Quellcodes an!
Weitere Aufgaben hinzufügen
Der untenstehende ESP8266-Code tut
- Lässt zwei LEDs mit unterschiedlichen Intervallen blinken.
- Prüft den Zustand des Tasters.
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.
Erweiterbarkeit
Diese Methode ermöglicht dem ESP8266, mehrere Aufgaben gleichzeitig auszuführen, ohne dass eine Aufgabe die andere blockiert. Zum Beispiel das Senden einer Anfrage ins Internet und das Warten auf die Antwort, während gleichzeitig LED-Indikatoren blinken und der Abbruchtaste überwacht wird.