ESP8266 - LED - Fade-Effekt
Dieses Tutorial zeigt Ihnen, wie man den ESP8266 programmiert, um eine LED zu dimmen. Wir werden drei Beispiele durchgehen und die Unterschiede zwischen ihnen vergleichen:
- Wie man einen ESP8266 programmiert, um eine LED mit der delay()-Funktion zu dimmen
- Wie man einen ESP8266 programmiert, um eine LED mit der millis()-Funktion zu dimmen
- Wie man einen ESP8266 programmiert, um eine LED mit der ezLED-Bibliothek zu dimmen
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
Die LED-Pinbelegung
LED hat zwei Pins:
- Kathode(-) Pin: muss mit GND (0 V) verbunden werden.
- Anode(+) Pin: wird verwendet, um den Zustand der LEDs zu steuern.

Wie es funktioniert
Sobald die Kathode (-) mit GND verbunden ist:
- Wenn GND mit der Anode (+) verbunden wird, ist die LED AUS.
- Wenn VCC mit der Anode (+) verbunden wird, wird die LED eingeschaltet.
- Durch das Generieren eines PWM-Signals an der Anode (+) wird die Helligkeit der LED entsprechend dem PWM-Wert angepasst. Dieser Wert kann von 0 bis 255 reichen, wobei ein höherer Wert zu einer helleren LED führt und ein niedrigerer Wert die LED dunkler macht.
- Wenn der PWM-Wert 0 ist, entspricht dies dem Anschluss an GND, daher ist die LED AUS.
- Wenn der PWM-Wert 255 ist, entspricht dies dem Anschluss an VCC, daher ist die LED vollständig eingeschaltet.

※ Notiz:
Bei den meisten LEDs muss zwischen der Anode (+) und VCC ein Widerstand platziert werden. Der Wert dieses Widerstands wird durch die Spezifikationen der LED bestimmt.
ESP8266 - LED dimmen
Einige der ESP8266-Pins können so programmiert werden, dass sie ein PWM-Signal erzeugen. Den Anodenpin (+) der LED an einen ESP8266-Pin anschließen, die Kathode (-) an GND verbinden und den ESP8266-Pin so zu programmieren, dass PWM erzeugt wird, ermöglicht das Dimmen der 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.
Wie man programmiert
- Stellen Sie den Pin eines ESP8266 mit der Funktion pinMode() in den digitalen Ausgangsmodus. Als Beispiel kann dies für den Pin D5 erfolgen:
- Passen Sie die Helligkeit der LED an, indem Sie ein PWM-Signal mit der analogWrite()-Funktion erzeugen.
Die Helligkeit kann von 0 bis 255 reichen.
ESP8266-Code - Fade-Beispiel aus der Arduino IDE
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schauen Sie sich das Wie man die Umgebung für ESP8266 in der Arduino-IDE einrichtet Tutorial an, falls Sie ESP8266 zum ersten Mal verwenden.
- Verbinden Sie die Komponenten wie im Diagramm gezeigt.
- Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
- Öffnen Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Modul), sowie den entsprechenden COM-Port.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino-IDE und wählen Sie das richtige Board und den richtigen Port aus.
- Kopieren Sie den folgenden Code und fügen Sie ihn in die Arduino-IDE ein.
- Klicke auf die Upload-Schaltfläche in der Arduino IDE, um den Code für das ESP8266-Board zu kompilieren und hochzuladen.

- Schau dir die Helligkeit der LED an.
Code-Erklärung
Schau dir die zeilenweise Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!
※ Notiz:
Das obige Beispiel verwendet die Funktion delay(), um das Ein- und Ausblenden zu erreichen. Dies führt jedoch dazu, dass die LED nicht glatt ein- und ausblendet und anderen Code daran hindert, ausgeführt zu werden. In den kommenden Abschnitten werden wir lernen, wie man sanft ein- und ausblendet, ohne den übrigen Code zu unterbrechen, indem man die millis() Funktion verwendet.
Wie man eine LED über einen Zeitraum hinweg einblendet, ohne delay() zu verwenden
Wie man eine LED über einen Zeitraum hinweg ausblendet, ohne delay() zu verwenden
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.
Zusätzliches Wissen
- Die Funktion analogWrite() im ESP8266 kann ein PWM-Signal erzeugen, das eine LED sanft dimmt. Allerdings kann eine maßgeschneiderte Funktion mit fortgeschrittenem Wissen ein PWM-Signal mit niedriger Frequenz erzeugen, wodurch die LED blinkt statt zu dimmen.
- Zusammenfassend können PWM-Signale im ESP8266 für eine Vielzahl von Zwecken verwendet werden, wie z. B. zur Steuerung von Servomotoren, Gleichstrommotoren, zur Tonerzeugung mit einem Piezo-Buzzer, zum Dimmen von LEDs und zum Blinken von LEDs.