ESP32 S3 - WS2812B LED-Streifen

Der ESP32 S3 ist ein leistungsstarker Mikrocontroller, mit dem sich WS2812B-RGB-LED-Streifen einfach und effizient steuern lassen. Mit einem einzigen GPIO-Pin können Sie Farbe und Helligkeit jeder LED auf dem Streifen unabhängig steuern und so eine Vielzahl dynamischer Lichteffekte erzeugen.

ESP32 S3 - WS2812B LED-Streifen

Was Sie bauen werden:

  1. LEDs nacheinander grün einschalten, mit einer Verzögerung zwischen jedem Pixel
  2. Alle LEDs gleichzeitig für zwei Sekunden ausschalten
  3. Alle LEDs gleichzeitig für zwei Sekunden rot einschalten
  4. Die Lichtsequenz in einer Endlosschleife wiederholen

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
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×WS2812B RGB LED-Streifen
1×1000uF Capacitor
1×470Ω Resistor
1×5V Netzteil
1×(Optional) DC-Stromanschluss
1×Verbindungskabel
1×Breadboard
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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.

Überblick über WS2812B RGB LED Strip

Der WS2812B ist ein einzeln adressierbarer RGB-LED-Streifen, bei dem LED und Steuerschaltung in jedem Pixel integriert sind, sodass Sie jede LED über eine einzige Datenleitung unabhängig steuern können. Jedes Pixel enthält rote, grüne und blaue Teil-LEDs, die jeweils auf 256 Helligkeitsstufen eingestellt werden können – das ergibt über 16 Millionen mögliche Farben pro Pixel. Der Streifen arbeitet mit 5 V und verwendet ein Eindrahtprotokoll, das ihn mit den GPIO-Pins des ESP32 S3 kompatibel macht.

Wichtige Spezifikationen

Der WS2812B-RGB-LED-Streifen hat drei Pins:

  1. GND-Pin: muss mit GND (0 V) verbunden werden
  2. VCC-Pin: muss mit 5 V einer externen Stromversorgung verbunden werden
  3. Din-Pin: empfängt das Steuersignal und sollte mit einem GPIO-Pin des ESP32 S3 verbunden werden
WS2812B Pinbelegung

※ Notiz:

Die Reihenfolge der Pins kann je nach Hersteller variieren. Verwenden Sie IMMER die auf dem LED-Streifen aufgedruckten Beschriftungen.

Verdrahtungsdiagramm

Schließen Sie den WS2812B-LED-Streifen an den ESP32 S3 an, indem Sie die VCC- und GND-Pins des Streifens über ein externes Netzteil mit 5 V versorgen und die Din-Datenleitung über einen 470-Ω-Widerstand mit einem GPIO-Pin des ESP32 S3 verbinden. Setzen Sie einen 1000-µF-Kondensator nahe am Streifen zwischen die Versorgungsleitungen, um beim ersten Einschalten der Schaltung vor Spannungsspitzen zu schützen.

Sicherheitshinweise

Verwenden Sie für den LED-Streifen immer eine externe 5-V-Stromversorgung, statt ihn über die 3,3-V- oder USB-Pins des ESP32 S3 zu versorgen, insbesondere wenn Sie mehr als nur wenige LEDs ansteuern. Der 470-Ω-Vorwiderstand in der Datenleitung schützt vor Signalüberschwingern und Reflexionen, die die Kommunikation stören können. Der 1000-µF-Kondensator zwischen VCC und GND verhindert, dass der Einschaltstrom die erste LED des Streifens beim Einschalten beschädigt.

Verdrahtungsplan ESP32 S3 WS2812B-RGB-LED-Streifen

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

| Bauteil-Pin | Verbunden mit |

|:---|:---|

| WS2812B GND | GND (externe 5-V-Versorgung) |

| WS2812B VCC | 5V (externe Stromversorgung) |

| WS2812B Din | ESP32 S3 GPIO4 (über 470-Ω-Widerstand) |

| Kondensator + | 5-V-Schiene |

| Kondensator - | GND-Schiene |

Wie man den WS2812B-RGB-LED-Streifen programmiert

Zur Ansteuerung von WS2812B-LED-Streifen mit dem ESP32 S3 können zwei beliebte Bibliotheken verwendet werden: die Adafruit-NeoPixel-Bibliothek und die FastLED-Bibliothek. Dieses Tutorial verwendet die Adafruit-NeoPixel-Bibliothek, da sie eine übersichtliche, einfache API bietet, die leicht zu erlernen ist. Die folgenden Codebeispiele zeigen die wichtigsten Funktionen für den Einstieg.

Deklarieren Sie ein WS2812B-Objekt, indem Sie die Anzahl der Pixel, den Datenpin und den Pixeltyp angeben:

#define PIN_WS2812B 4 // ESP32 S3 pin that connects to WS2812B #define NUM_PIXELS 30 // The number of LEDs (pixels) on WS2812B Adafruit_NeoPixel WS2812B(NUM_PIXELS, PIN_WS2812B, NEO_GRB + NEO_KHZ800);

Initialisieren Sie das WS2812B-Streifenobjekt in setup():

WS2812B.begin(); // INITIALIZE WS2812B strip object (REQUIRED)

Legen Sie die Farbe jeder einzelnen LED (Pixel genannt) mit RGB-Werten von 0 bis 255 fest:

WS2812B.setPixelColor(pixel, WS2812B.Color(255, 0, 0));

Legen Sie die Helligkeit für alle LEDs des Streifens auf einmal fest:

WS2812B.setBrightness(100); // a value from 0 to 255

※ Notiz:

  • WS2812B.setBrightness() gilt für alle Pixel des LED-Streifens. Um die Helligkeit für jedes einzelne Pixel festzulegen, skalieren Sie stattdessen die Farbwerte.
  • Die mit WS2812B.setBrightness() und WS2812B.setPixelColor() gesetzten Werte werden erst wirksam, wenn WS2812B.show() aufgerufen wird.

ESP32 S3 Code

Der folgende Code zeigt eine vollständige Steuersequenz für den WS2812B-LED-Streifen mit der Adafruit-NeoPixel-Bibliothek. Er schaltet die Pixel nacheinander grün, schaltet dann alle aus und lässt anschließend alle gleichzeitig rot leuchten, wobei sich der Zyklus fortlaufend wiederholt. Laden Sie diesen Sketch auf Ihren ESP32 S3 hoch, nachdem Sie alles wie im obigen Diagramm verdrahtet haben.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-ws2812b-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_WS2812B 4 // The ESP32 S3 pin GPIO4 connected to WS2812B #define NUM_PIXELS 30 // The number of LEDs (pixels) on WS2812B LED strip Adafruit_NeoPixel ws2812b(NUM_PIXELS, PIN_WS2812B, NEO_GRB + NEO_KHZ800); void setup() { ws2812b.begin(); // initialize WS2812B strip object (REQUIRED) } void loop() { ws2812b.clear(); // set all pixel colors to 'off'. It only takes effect if pixels.show() is called // turn pixels to green one-by-one with delay between each pixel for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel ws2812b.setPixelColor(pixel, ws2812b.Color(0, 255, 0)); // it only takes effect if pixels.show() is called ws2812b.show(); // update to the WS2812B Led Strip delay(500); // 500ms pause between each pixel } // turn off all pixels for two seconds ws2812b.clear(); ws2812b.show(); // update to the WS2812B Led Strip delay(2000); // 2 seconds off time // turn on all pixels to red at the same time for two seconds for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel ws2812b.setPixelColor(pixel, ws2812b.Color(255, 0, 0)); // it only takes effect if pixels.show() is called } ws2812b.show(); // update to the WS2812B Led Strip delay(1000); // 1 second on time // turn off all pixels for one seconds ws2812b.clear(); ws2812b.show(); // update to the WS2812B Led Strip delay(1000); // 1 second off time }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
  3. Suchen Sie nach "Adafruit NeoPixel" und finden Sie dann die NeoPixel-Bibliothek von Adafruit.
  4. Klicken Sie auf die Schaltfläche Install, um die NeoPixel-Bibliothek zu installieren.
  • Search for Adafruit NeoPixel created by Adafruit and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
Adafruit NeoPixel by Adafruit
Arduino library for controlling single-wire-based LED pixels and strip. More info
1.12.0
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  2. Wählen Sie im Menü Tools Ihr ESP32-S3-Board und den richtigen COM-Port aus.
  3. Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf Ihren ESP32 S3 hochzuladen.
  4. Beobachten Sie, wie der LED-Streifen den Effekt „grün nacheinander“, die Pause mit allen LEDs aus und den Effekt „alle rot“ durchläuft.
  5. Profi-Tipp: Passen Sie NUM_PIXELS an die tatsächliche Länge Ihres Streifens an und experimentieren Sie mit verschiedenen Farbwerten in WS2812B.Color(R, G, B), um eigene Lichtmuster zu erstellen.

※ Notiz:

Für komplizierte LED-Effekte bieten wir einen kostenpflichtigen Programmierservice an

Serieller Monitor

Öffnen Sie den seriellen Monitor mit 9600 Baud, um zu beobachten, wie der ESP32 S3 die Steuerzustände des LED-Streifens durchläuft. Im Folgenden sehen Sie eine typische Ausgabe im Normalbetrieb:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 10:23:01] Turning on pixel 0 (green) [2026-01-15 10:23:01] Turning on pixel 1 (green) [2026-01-15 10:23:02] All pixels off [2026-01-15 10:23:04] All pixels on (red)
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen

Vom ESP32 S3 gesteuerte WS2812B-LED-Streifen werden häufig in Projekten eingesetzt, die eine dynamische, programmierbare Beleuchtung zu geringen Kosten und mit minimalem Verdrahtungsaufwand erfordern.

  1. Stimmungsbeleuchtung: Eine reaktive Raumbeleuchtung erstellen, die ihre Farbe je nach Tageszeit, Musik oder Sensordaten ändert.
  2. Statusanzeigen: Verschiedene Farben und Muster verwenden, um Systemzustände wie WLAN-Verbindung, Sensoralarme oder den Fortschritt eines Prozesses visuell darzustellen.
  3. Dekorative Anzeigen: Festtagsbeleuchtung, Unterbodenbeleuchtung für Fahrzeuge oder animierte Schilder mit eigenen Farbsequenzen bauen.
  4. Gaming-Zubehör: Reaktive RGB-Beleuchtung zu selbstgebauten Tastaturen, Controllern oder Schreibtisch-Setups hinzufügen, die auf Ereignisse im Spiel reagiert.
  5. Tragbare Projekte: LED-Streifen in Kostüme, Taschen oder Kleidung integrieren – für auffällige Effekte mit tragbarer Elektronik.

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.

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.

Herausforderungen

Der WS2812B-LED-Streifen eröffnet kreative Programmierherausforderungen, die Ihre Fähigkeiten mit dem ESP32 S3 schärfen und visuell beeindruckende Ergebnisse liefern.

  1. Anfänger: Den Code so ändern, dass er nacheinander alle LEDs rot, grün und blau leuchten lässt und jede Farbe eine Sekunde lang hält, bevor zur nächsten gewechselt wird.
  2. Fortgeschritten: Einen Regenbogeneffekt implementieren, der den Farbton jedes Pixels entlang des Streifens fortlaufend verschiebt, sodass alle Farben des Spektrums gleichzeitig erscheinen und im Laufe der Zeit gleichmäßig wandern.
  3. Experte: Die WLAN-Fähigkeit des ESP32 S3 nutzen, um eine Weboberfläche zu bauen, über die Benutzer mit einem Farbwähler eine beliebige Farbe auswählen und die Helligkeit in Echtzeit einstellen können, wobei die Änderungen ohne Neustart des Boards an den LED-Streifen übertragen werden.

Verwandte Tutorials

※ 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!