ESP32 - WS2812B LED-Streifen
In diesem Tutorial lernen wir, wie man den ESP32 verwendet, um einen WS2812B RGB-LED-Streifen zu steuern. Mit einem einzigen ESP32-Pin:
- ESP32 kann die Farbe jeder LED auf dem LED-Streifen einzeln steuern
- ESP32 kann die Helligkeit jeder LED auf dem LED-Streifen einzeln einstellen
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über WS2812B RGB-LED-Streifen
Pinbelegung
Der WS2812B RGB-LED-Streifen hat drei Pins:
- GND-Pin: muss mit GND (0 V) verbunden werden.
- VCC-Pin: muss mit 5 V der externen Stromversorgung verbunden werden.
- Din-Pin: ist der Pin, der das Steuersignal empfängt. Er sollte mit einem ESP32-Pin verbunden werden.

※ Notiz:
Die Reihenfolge der Pins kann von Hersteller zu Hersteller variieren. Verwenden Sie immer die auf dem LED-Streifen aufgedruckten Beschriftungen.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
Wie programmiert man einen WS2812B RGB-LED-Streifen
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, siehe Wie man die Umgebung für ESP32 in der Arduini IDE einrichtet.
Es gibt zwei Bibliotheken, mit denen man einen WS2812B-LED-Streifen steuern kann:
- Adafruit NeoPixel-Bibliothek.
- FastLED-Bibliothek.
In diesem Tutorial wird die Adafruit NeoPixel-Bibliothek verwendet.
- Deklariere ein WS2812B-Objekt
- Initialisiert den WS2812B
- Stellen Sie die Farbe jeder einzelnen LED fest (als Pixel bezeichnet).
- Stelle die Helligkeit aller Streifen ein.
※ Notiz:
- WS2812B.setBrightness() wird für alle Pixel auf dem LED-Streifen verwendet. Um die Helligkeit für jeden einzelnen Pixel festzulegen, können wir den Farbwert skalieren.
- Die Werte, die durch WS2812B.setBrightness() und WS2812B.setPixelColor() festgelegt werden, treten erst in Kraft, wenn WS2812B.show() aufgerufen wird.
ESP32-Code
Der untenstehende Code macht Folgendes:
- Schalte Pixel der Reihe nach auf Grün, mit einer Verzögerung zwischen den einzelnen Pixeln
- Schalte alle Pixel für zwei Sekunden aus
- Schalte alle Pixel gleichzeitig für zwei Sekunden auf Rot
- Wiederhole den obigen Prozess unendlich oft
Schnelle Schritte
- Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
- Suchen Sie nach „Adafruit NeoPixel“, dann finden Sie die WS2812B-Bibliothek von Adafruit.
- Klicken Sie auf die Installieren-Schaltfläche, um die NeoPixel-Bibliothek zu installieren.

- Kopiere den obigen Code und öffne ihn mit der Arduini IDE
- Klicke auf die Upload-Schaltfläche in der Arduini IDE, um den Code auf den ESP32 hochzuladen
- Sieh dir den LED-Effekt an
※ Notiz:
Für jeden komplexen LED-Effekt bieten wir den kostenpflichtigen Programmierdienst an.
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.