ESP8266 - WS2812B LED-Streifen

Der WS2812B RGB-LED-Streifen besteht aus LEDs, deren Farbe und Helligkeit einzeln angepasst werden können. Dieses Tutorial erklärt dir, wie du den ESP8266 verwendest, um den WS2812B RGB-LED-Streifen zu steuern. Im Detail werden wir Folgendes lernen:

Wir brauchen nur einen digitalen Pin des ESP8266, um alle LEDs des Streifens zu steuern.

Erforderliche Hardware

1×ESP8266 NodeMCU
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×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über WS2812B RGB-LED-Streifen

Die Pinbelegung des WS2812B-LED-Streifens

Der WS2812B RGB-LED-Streifen hat drei Pins, die spezifische Verbindungen erfordern:

  • GND-Pin muss mit GND (0 V) verbunden werden
  • VCC-Pin sollte mit der 5-V-Stromversorgung einer externen Stromquelle verbunden werden
  • DIN-Pin ist der Pin, der das Steuersignal empfängt, und sollte mit einem ESP8266-Pin verbunden werden
WS2812B-Pinbelegung

※ Notiz:

Die Reihenfolge der Pins kann je nach Hersteller variieren. Es ist zwingend erforderlich, die auf dem LED-Streifen aufgedruckten Markierungen zu verwenden.

Verdrahtungsdiagramm

ESP8266 NodeMCU WS2812B RGB-LED-Streifen 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.

So programmiert man für WS2812B RGB-LED-Streifen

Es gibt zwei Bibliotheken, die verwendet werden können, um einen WS2812B-LED-Streifen zu steuern:

  • Adafruit NeoPixel-Bibliothek.
  • FastLED-Bibliothek.

Dieses Tutorial wird die Adafruit NeoPixel-Bibliothek verwenden.

  • Erstelle ein WS2812B-Objekt
#define PIN_WS2812B D1 // Der ESP8266-Pin, der mit WS2812B verbunden ist #define NUM_PIXELS 30 // Die Anzahl der LEDs (Pixel) auf dem WS2812B Adafruit_NeoPixel WS2812B(NUM_PIXELS, PIN_WS2812B, NEO_GRB + NEO_KHZ800);
  • LED-Streifen mit 30 LEDs
  • Initialisiert den WS2812B-LED-Streifen, der 30 LEDs enthält.
WS2812B.begin(); // WS2812B-Streifenobjekt initialisieren (erforderlich)
  • Geben Sie die Farbe jeder LED an (die als Pixel bekannt ist).
WS2812B.setPixelColor(pixel, WS2812B.Color(255, 0, 0));
  • Passe die Helligkeit aller Streifen an.
WS2812B.setBrightness(100); // ein Wert von 0 bis 255

※ Notiz:

  • WS2812B.setBrightness() wird verwendet, um die Helligkeit aller Pixel des LED-Streifens anzupassen. Um die Helligkeit für jedes Pixel zu setzen, können wir die Farbwerte (R,G,B) mit demselben Verhältnis skalieren.
  • Die durch WS2812B.setBrightness() und WS2812B.setPixelColor() festgelegten Werte werden nur angewendet, wenn WS2812B.show() ausgeführt wird.

ESP8266-Code

Der untenstehende Code führt die folgenden Sequenzen aus:

  • Schalte Pixel einzeln nacheinander grün ein, mit einer Verzögerung zwischen den einzelnen Pixeln
  • Schalte alle Pixel zwei Sekunden lang aus
  • Lasse alle Pixel gleichzeitig zwei Sekunden lang rot aufleuchten
  • Wiederhole diesen Prozess unendlich oft
/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-ws2812b-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_WS2812B D1 // The ESP8266 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); 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(); // send the updated pixel colors to the WS2812B hardware. delay(DELAY_INTERVAL); // pause between each pixel } // turn off all pixels for two seconds WS2812B.clear(); WS2812B.show(); // send the updated pixel colors to the WS2812B hardware. delay(2000); // 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(); // send the updated pixel colors to the WS2812B hardware. delay(2000); // on time // turn off all pixels for one seconds WS2812B.clear(); WS2812B.show(); // send the updated pixel colors to the WS2812B hardware. delay(2000); // off time }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial Wie man die Umgebung für ESP8266 in der Arduino-IDE einrichtet an, wenn dies das erste Mal ist, dass du ESP8266 verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
  • Klicke auf das Libraries-Symbol in der linken Leiste der Arduino-IDE.
  • Suche nach „Adafruit NeoPixel“ und finde die NeoPixel-Bibliothek von Adafruit.
  • Dann klicke auf die Install-Schaltfläche, um die NeoPixel-Bibliothek zu installieren.
ESP8266 NodeMCU NeoPixel-Bibliothek
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke auf die Hochladen-Schaltfläche, um den Code an den ESP8266 zu senden.
  • 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.

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