ESP32 S3 - NeoPixel LED-Streifen

Der NeoPixel-Streifen ist eine Kette einzeln adressierbarer RGB-LEDs, mit der Sie Farbe und Helligkeit jeder LED unabhängig steuern können. In dieser Anleitung erfahren Sie, wie Sie mit einem ESP32 S3 einen NeoPixel-RGB-LED-Streifen steuern — und bemerkenswerterweise benötigen Sie nur einen einzigen GPIO-Pin, um jede LED auf dem gesamten Streifen anzusteuern.

ESP32 S3 - NeoPixel LED-Streifen

Was Sie bauen werden:

  1. Einen aufeinanderfolgenden grünen Pixellauf über den gesamten Streifen mit einer Pause zwischen jeder LED.
  2. Ein vollständiges Abschalten des Streifens (alle LEDs aus) für zwei Sekunden.
  3. Ein gleichzeitiges rotes Aufleuchten aller LEDs für eine Sekunde.
  4. Eine sich ständig wiederholende Animation, die alle drei Effekte kombiniert.

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×NeoPixel 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 NeoPixel RGB LED Strip

Der NeoPixel-RGB-LED-Streifen (auch als WS2812B bekannt) enthält in jeder LED einen integrierten Treiber-IC, der ein Eindraht-Kommunikationsprotokoll ermöglicht. So lassen sich Dutzende oder sogar Hunderte von LEDs über nur eine Datenleitung verketten. Jede LED kann durch Mischen der Rot-, Grün- und Blaukanäle von 0 bis 255 mehr als 16 Millionen Farben darstellen, und der gesamte Streifen kann mit einem einzigen Aufruf Ihres Mikrocontrollers gleichzeitig aktualisiert werden.

Wichtige Spezifikationen

Pinbelegung

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

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

Verdrahtungsdiagramm

Verbinden Sie den NeoPixel-Streifen mit dem ESP32 S3, indem Sie die Din-Datenleitung über einen 470Ω-Vorwiderstand an einen GPIO-Pin anschließen, und versorgen Sie VCC und GND über ein separates externes 5V-Netzteil — platzieren Sie den 1000uF-Kondensator nahe am Streifen zwischen den VCC- und GND-Schienen, um Spannungsspitzen zu unterdrücken.

Sicherheitshinweise

Versorgen Sie den NeoPixel-Streifen immer über eine externe 5V-Quelle und nicht über die 3,3V- oder USB-5V-Schiene des ESP32 S3, da ein vollständiger Streifen bei Spitzenstrom mehr ziehen kann, als der Spannungsregler der Platine sicher liefern kann. Der 470Ω-Vorwiderstand in der Datenleitung schützt vor Signalreflexionen und Überschwingen, während der 1000uF-Pufferkondensator die Einschaltstromspitze beim ersten Einschalten des Streifens abfängt.

| NeoPixel-Streifen | ESP32 S3 / Externe Versorgung |

|:---|:---|

| GND | GND (gemeinsam mit GND des ESP32 S3) |

| VCC | Externes 5V-Netzteil |

| Din | GPIO16 (über 470Ω-Widerstand) |

ESP32 S3 NeoPixel-RGB-LED-Streifen Schaltplan

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

Wie man den NeoPixel-RGB-LED-Streifen programmiert

Die Adafruit-NeoPixel-Bibliothek bietet eine unkomplizierte API zur Steuerung von WS2812B-Streifen am ESP32 S3. Die drei Kernoperationen, die Sie benötigen, sind das Erstellen des NeoPixel-Objekts, dessen Initialisierung und anschließend das Festlegen von Pixelfarben und Helligkeit, bevor Sie show() aufrufen, um die Änderungen an die Hardware zu übertragen.

  • Ein NeoPixel-Objekt deklarieren
#define PIN_NEO_PIXEL 16 // The ESP32 S3 pin GPIO16 connected to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Den NeoPixel-Streifen in setup() initialisieren
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
  • Die Farbe jeder einzelnen LED (Pixel genannt) festlegen
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Die Helligkeit des gesamten Streifens festlegen
NeoPixel.setBrightness(200); // a value from 0 to 255

※ Notiz:

  • NeoPixel.setBrightness() wendet einen globalen Helligkeitsfaktor auf alle Pixel des Streifens an. Um die Helligkeit jedes einzelnen Pixels unabhängig einzustellen, skalieren Sie die Farbwerte direkt.
  • Die mit NeoPixel.setBrightness() und NeoPixel.setPixelColor() gesetzten Werte werden erst wirksam, wenn NeoPixel.show() aufgerufen wird.

ESP32 S3 Code

Der folgende Code zeigt alle drei Animationseffekte in einer Endlosschleife auf dem ESP32 S3. Er lässt jede LED nacheinander mit einer kurzen Pause grün aufleuchten, schaltet dann alle LEDs für zwei Sekunden aus und lässt anschließend den gesamten Streifen eine Sekunde lang rot leuchten — und wiederholt dies unbegrenzt. Laden Sie den Sketch hoch und beobachten Sie, wie der Streifen automatisch jeden Effekt durchläuft.

/* * 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-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL 16 // The ESP32 S3 pin GPIO16 connected to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel LED strip Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800); void setup() { NeoPixel.begin(); // initialize NeoPixel strip object (REQUIRED) } void loop() { NeoPixel.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 NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0)); // it only takes effect if pixels.show() is called NeoPixel.show(); // update to the NeoPixel Led Strip delay(500); // 500ms pause between each pixel } // turn off all pixels for two seconds NeoPixel.clear(); NeoPixel.show(); // update to the NeoPixel 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 NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called } NeoPixel.show(); // update to the NeoPixel Led Strip delay(1000); // 1 second on time // turn off all pixels for one seconds NeoPixel.clear(); NeoPixel.show(); // update to the NeoPixel 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. Verdrahten Sie die Komponenten wie im obigen Schaltplan gezeigt.
  3. Verbinden Sie das ESP32 S3 Board über ein USB-Type-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie das richtige ESP32 S3 Board (z. B. ESP32S3 Dev Module) und den richtigen COM-Port aus.
  6. Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
  7. Suchen Sie nach "Adafruit NeoPixel" und finden Sie die NeoPixel-Bibliothek von Adafruit.
  8. 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 mit der Arduino IDE.
  2. Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.
  3. Beobachten Sie, wie der LED-Streifen den grünen Lauf, das Abschalten und das rote Aufleuchten durchläuft.
  4. Profi-Tipp: Passen Sie NUM_PIXELS an die genaue LED-Anzahl Ihres Streifens an und experimentieren Sie für den Innenbereich mit Werten für NeoPixel.setBrightness() (50–150), um Stromverbrauch und Wärme zu reduzieren.

Ausgabe im Seriellen Monitor

Öffnen Sie den Seriellen Monitor mit 9600 Baud, um die Statusmeldungen zu beobachten, die der ESP32 S3 während der Animationsschleife ausgibt. Die folgenden Ausgaben zeigen eine typische Sitzung mit Zeitstempeln:

∞
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] Starting NeoPixel animation loop... [2026-01-15 10:23:01] Sweeping green pixels across strip (30 LEDs) [2026-01-15 10:23:04] All pixels off — waiting 2 seconds [2026-01-15 10:23:06] All pixels set to red — holding 1 second
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen

Vom ESP32 S3 gesteuerte NeoPixel-LED-Streifen können in einer Vielzahl kreativer und praktischer Projekte eingesetzt werden, von Ambientebeleuchtung bis hin zu interaktiven Displays.

  1. Ambientebeleuchtung für Räume: Erzeugen Sie eine dynamische Stimmungsbeleuchtung, die ihre Farbe abhängig von der Tageszeit oder von Sensoreingaben ändert.
  2. Benachrichtigungsanzeige: Lassen Sie bestimmte Farben aufblinken, um Ereignisse wie neue Nachrichten, Warnungen oder den Systemstatus anzuzeigen.
  3. Beleuchtung für Kostüme: Integrieren Sie einen kurzen NeoPixel-Streifen in Kleidung oder Requisiten für auffällige visuelle Effekte.
  4. Interaktive Kunstinstallation: Steuern Sie generative Farbmuster an, die auf Geräusche, Bewegung oder Berührung reagieren.
  5. Akzent für Verkaufsdisplays: Verwenden Sie animierte Lichtsequenzen, um die Aufmerksamkeit auf Produkte oder Schilder zu lenken.

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

Diese Herausforderungen sollen Ihr Verständnis der NeoPixel-Steuerung am ESP32 S3 über die Grundlagen hinaus erweitern.

  1. Einsteiger: Ändern Sie den Code so, dass blaue statt grüne Pixel durchlaufen, und ändern Sie dann die Farbe beim Aufleuchten aller LEDs von Rot auf Weiß.
  2. Einsteiger: Fügen Sie einen Regenbogenlauf hinzu, bei dem jedes Pixel nacheinander Rot → Orange → Gelb → Grün → Blau → Violett durchläuft.
  3. Fortgeschritten: Verwenden Sie ein Potentiometer an einem ADC-Pin des ESP32 S3, um die Helligkeit des Streifens in Echtzeit dynamisch zu steuern.
  4. Fortgeschritten: Implementieren Sie eine "Theater Chase"-Animation, bei der jede dritte LED leuchtet und die leuchtende Gruppe am Streifen entlang vorwärts wandert.
  5. Experte: Bauen Sie einen geräuschreaktiven Visualizer, indem Sie den analogen Ausgang eines Mikrofons auslesen und die Audioamplitude der Anzahl leuchtender Pixel und ihrer Farbintensität zuordnen.

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!