Arduino Nano – WS2812B-LED-Streifen

Der WS2812B RGB-LED-Streifen ist eine Reihe von LEDs, bei der die Farbe und Helligkeit jedes einzelnen LEDs unabhängig angepasst werden können. Diese Anleitung zeigt dir, wie du einen Arduino Nano verwendest, um den WS2812B RGB-LED-Streifen zu steuern. Im Detail werden wir lernen:

Alle LEDs des Streifens können mit nur einem digitalen Pin des Arduino Nano gesteuert werden.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
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 Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 Anschlüsse:

  • GND-Pin: muss mit GND (0 V) verbunden werden
  • VCC-Pin: muss mit 5 V einer externen Stromquelle verbunden werden
  • Din-Pin: ist der Pin, der das Steuersignal empfängt und sollte mit dem digitalen Pin eines Arduino Nano verbunden werden
WS2812B Pinbelegung

※ Notiz:

Die Anordnung der Pins kann von Hersteller zu Hersteller variieren. Es ist zwingend erforderlich, immer die auf dem LED-Streifen aufgedruckten Beschriftungen zu verwenden.

Verdrahtungsdiagramm

Arduino Nano WS2812B RGB-LED-Streifen-Schaltplan

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man WS2812B RGB-LED-Streifen programmiert

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.

  • Erstellen Sie ein WS2812B-Objekt.
#define PIN_WS2812B 2 // Arduino Nano-Pin, der mit WS2812B verbunden ist #define NUM_PIXELS 30 // Die Anzahl der LEDs (Pixel) auf WS2812B Adafruit_NeoPixel WS2812B(NUM_PIXELS, PIN_WS2812B, NEO_GRB + NEO_KHZ800);
  • Initialisiert WS2812B.
WS2812B.begin(); // WS2812B-Streifenobjekt initialisieren (erforderlich)
  • Geben Sie die Farbe jeder einzelnen LED (auch als Pixel bekannt) an.
WS2812B.setPixelColor(pixel, WS2812B.Color(255, 0, 0));
  • Passen Sie die Helligkeit aller Streifen an.
WS2812B.setBrightness(100); // ein Wert von 0 bis 255

※ Notiz:

  • WS2812B.setBrightness() wird verwendet, um die Helligkeit aller Pixel auf dem LED-Streifen anzupassen. Um die Helligkeit für jedes einzelne Pixel festzulegen, können wir die Farbwerte (R,G,B) mit demselben Verhältnis skalieren.
  • Die von WS2812B.setBrightness() und WS2812B.setPixelColor() gesetzten Werte werden nur angewendet, wenn WS2812B.show() aufgerufen wird.

Arduino Nano-Quellcode

Der unten stehende Code führt die folgenden Sequenzen aus:

  • Schaltet die Pixel nacheinander auf Grün, mit einer Verzögerung zwischen jedem Pixel.
  • Schaltet alle Pixel für zwei Sekunden aus.
  • Leuchtet alle Pixel zwei Sekunden lang rot auf.
  • Wiederholt diesen Vorgang endlos.
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano/arduino-nano-ws2812b-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_WS2812B 2 // The Arduino Nano 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

  • Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
  • Suchen Sie nach “Adafruit NeoPixel” und finden Sie die NeoPixel-Bibliothek von Adafruit.
  • Drücken Sie dann die Install-Schaltfläche, um die NeoPixel-Bibliothek zu installieren.
Arduino Nano WS2812B-Bibliothek
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke auf die Schaltfläche Upload in der Arduino-IDE, um den Code an den Arduino Nano zu senden.
  • Schau dir den LED-Effekt an.

※ Notiz:

Für jeden komplexen LED-Effekt bieten wir die bezahlte Programmierdienstleistung an bezahlte Programmierdienstleistung

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!