ESP32 Tutorial 12/55 - WS2812 RGB Streifen 4 Projekt mit dem ESP32 IoT Lernkit von SunFounder
In diesem Tutorial werden wir erkunden, wie man einen WS2812 LED-Streifen mit dem ESP32-Mikrocontroller steuert. Dieses Projekt ermöglicht es Ihnen, eine Vielzahl von Farben zu erstellen und jede LED einzeln zu steuern, was eine unterhaltsame und visuell ansprechende Möglichkeit bietet, etwas über Programmierung und Elektronik zu lernen. Am Ende dieses Tutorials haben Sie ein voll funktionsfähiges Setup, das Farben und Muster dynamisch ändern kann.
Mit dem ESP32-Mikrocontroller von SunFounder, der über integrierte WLAN- und Bluetooth-Funktionen verfügt, können wir die WS2812 RGB-LED-Leiste einfach anschließen und steuern. Die Flexibilität dieser LED-Leiste ermöglicht kreative Anwendungen, sei es für dekorative Beleuchtung oder Bildungsprojekte. Für ein besseres Verständnis der dabei erforderlichen Schritte können Sie das Video unter (im Video bei 00:00) anschauen.
Hardware Erklärungen
Die Hauptkomponenten für dieses Projekt sind der ESP32-Mikrocontroller und der WS2812-LED-Streifen. Der ESP32 ist ein leistungsstarker Mikrocontroller, der Aufgaben ähnlich denen eines Arduinos ausführen kann, jedoch mit erweiterten Konnektivitätsoptionen. Er verfügt über eine umfangreiche Ausstattung, die es ihm ermöglicht, eine Verbindung zur Cloud herzustellen, was Fernsteuerung und Datenprotokollierung ermöglicht.
Der WS2812 LED-Streifen besteht aus einzeln ansprechbaren RGB-LEDs, was bedeutet, dass jede LED gesteuert werden kann, um verschiedene Farben anzuzeigen. Der Streifen arbeitet mit einem Ein-Draht-Protokoll, das es ermöglicht, mehrere LEDs miteinander zu verbinden, ohne die Signalqualität zu verlieren. Jede LED enthält einen integrierten Treiber, der das Eingangssignal verarbeitet und für die nächste LED in der Kette verstärkt.
Datenblattdetails
| Hersteller | Worldsemi |
|---|---|
| Teilenummer | WS2812 |
| Logik/IO-Spannung | 3,5-5,3 V |
| Versorgungsspannung | 5 V |
| Ausgangsstrom (pro Kanal) | 20 mA maximal |
| Spitzenstrom (pro Kanal) | 60 mA max |
| PWM-Frequenzrichtlinien | 400 Hz |
| Eingangslogikschwellen | 0,3 x VDDzu 0,7 x VDD |
| Spannungsabfall / RDS(on)/ Sättigung | 0,5 V max |
| Thermische Grenzen | -25 bis 80 °C |
| Paket | 5050 |
| Hinweise / Varianten | Kann zu längeren Streifen verbunden werden. |
- Sorgen Sie für eine ordnungsgemäße Stromversorgung (5 V), um LED-Schäden zu vermeiden.
- Verwenden Sie einen Kondensator (100 µF) über den Stromversorgungsterminals, um Spannungsspitzen zu glätten.
- Halten Sie die Datenkabel kurz, um Signalverschlechterungen zu reduzieren.
- Seien Sie vorsichtig mit der LED-Temperatur; sorgen Sie für eine ordnungsgemäße Wärmeableitung.
- Beachten Sie die richtige Polarität beim Anschließen von Stromversorgung und Masse.
- Verwenden Sie einen Pull-up-Widerstand an der Datenleitung, wenn Sie lange Streifen verwenden.
Verdrahtungsanweisungen

Um den WS2812 LED-Streifen an den ESP32 anzuschließen, beginnen Sie mit dem Anschluss des Netzteils. Der +5V-Draht vom LED-Streifen sollte mit dem 5V-Pin am ESP32 verbunden werden, und der Erdung (GND)-Draht sollte mit einem der GND-Pins am ESP32 verbunden werden.
Verbinden Sie als Nächstes den Datenleitungskabel des LED-Streifens mit Pin 14 des ESP32. Stellen Sie sicher, dass die Verbindungen sicher sind, um eine ordnungsgemäße Datenübertragung zu gewährleisten. Wenn Sie mehrere Streifen oder längere Distanzen verwenden, sollten Sie in Betracht ziehen, einen Pegelwandler zu verwenden, um die Signalqualität zu gewährleisten. Diese Konfiguration ermöglicht es Ihnen, den LED-Streifen direkt vom ESP32 aus zu steuern.
Codebeispiele und Durchlaufanleitungen
Der Code verwendet die Adafruit NeoPixel-Bibliothek zur Steuerung des WS2812-LED-Streifens. Er beginnt mit der Initialisierung des LED-Streifens und setzt die Anfangsfarbe auf schwarz. Die wichtigsten Kennungen im Code umfassenLED_PIN, der den Pin definiert, der mit der Datenleitung des LED-Streifens verbunden ist, undNUM_LEDS, die die Anzahl der LEDs im Streifen angibt.
#include // Include the Adafruit NeoPixel library
#define LED_PIN 14 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs
Im Setup-Funktion wird der Streifen initialisiert mitstrip.begin(), und die anfängliche Farbe ist auf schwarz eingestellt mitstrip.show()Dies bereitet den Streifen auf Farbänderungen vor, wenn das Programm läuft.
void setup() {
strip.begin(); // Initialize the NeoPixel strip
strip.show(); // Set initial color to black
}
Die Hauptschleife des Programms besteht aus zwei for-Schleifen. Die erste Schleife schaltet jede LED nacheinander ein, indem sie ihre Farbe einstellt und den Streifen aktualisiert. Die zweite Schleife schaltet jede LED auf die gleiche Weise aus. Dies erzeugt eine einfache, aber effektive Lichtanimation.
void loop() {
// Turn on LEDs one by one
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 100, 45, 0); // Set the color of the i-th LED to red
strip.show(); // Update the LED strip with the new colors
delay(100); // Wait for 100 milliseconds
}
// Turn off LEDs one by one
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 0, 0); // Set the color of the i-th LED to black (turn it off)
strip.show(); // Update the LED strip with the new colors
delay(100); // Wait for 100 milliseconds
}
}
Sehen Sie sich den vollständigen Code unter dem Artikel an, um weitere Details zur Implementierung verschiedener Farbeffekte und Animationen zu erfahren.
Demonstration / Was zu erwarten ist
Sobald Sie die Verdrahtung abgeschlossen und den Code hochgeladen haben, sollten die LEDs am Streifen nacheinander in einer bestimmten Farbe aufleuchten, gefolgt von dem Abschalten in derselben Reihenfolge. Dies erzeugt einen „laufenden Licht“-Effekt. Wenn die LEDs nicht wie erwartet aufleuchten, überprüfen Sie doppelt Ihre Verdrahtungsverbindungen und stellen Sie sicher, dass die Stromversorgung ausreichend ist. Überprüfen Sie auch, ob der richtige Pin im Code definiert ist (im Video um 12:30).
Videountertitel
- 00:00 Start
- 1:40 Einführung in die WS2812-LED
- 7:25 Projektdokumentationsseite
- 9:16 RGB-Farbe erklärt
- 13:16 Verdrahtung erklärt
- 13:48 Arduino-Code-1 erklärt
- 19:03 Auswahl des ESP32-Boards und des Ports in der Arduino IDE
- 20:45 Code-1 Demo
- 22:00 Steuerung einzelner LED
- 24:16 Gehlicht LED
- 25:41 Hin und her Licht
Common Course Links
Common Course Files
Dinge, die Sie vielleicht brauchen
-
Amazon
-
eBay
-
AliExpressKaufen Sie den WS2812 LED-Streifen bei AliExpress-2s.click.aliexpress.com
-
AliExpressKaufen Sie WS2812 LED-Streifen von AliExpresss.click.aliexpress.com
-
BanggoodKaufen Sie WS2812 LED-Streifen bei Banggoodbanggood.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Keine Dateien verfügbar.