Fastled am Arduino mit WS2812B

Fastled am Arduino mit WS2812B Titelbild

LEDs sind toll. Wir schalten sie an und leuchten. Doch wenn wir viele LEDs auf einmal zum leuchten bringen wollen, dann bringen uns diese einzelnen LEDs nicht weiter, aber wir können eine sogenannten LED Stripe benutzen. In diese sind viele LEDs hinter einander gereiht. Doch in diesem Projekt geht es nicht nur um den Standard LED Stripe sondern vor allem um die WS12812B LEDs. Diese LEDs sind RGB LEDs. Heißt sie können in allen verschiedenen Farben abbilden, eine weitere Besonderheit bei dieser art von LEDs ist aber noch das wir die LEDs nicht direkt ansprechen sondern nur einen Treiberchip der auf den LEDs drauf ist. Und der letzte und wenn nicht sogar coolste Vorteil ist, das wir diese LEDs mit dem Treiberchip hintereinander hängen können und die Chip wissen in welcher Reinfolge die sich befinden. Das heißt wir können sehr sehr viele LEDs nehmen wir einfach mal 42 LEDs mit nur einer Datenleitung Programmieren und steuern.

Dank dem Chip auf dem WS2812B können wir solch einen LED Strip auch beliebig verlänger und verkürzen. Wir können nach jeder LED den Strip bei den Kupfernen Verbindungsstellen schneiden (das geht auch einfach mit einer Scheere) oder wieder mit einem anderen Strip zusammen löten. Wichtig ist dabei nur das wir auf die die Richtung achten, wenn die Daten eingänge mit den Ausgängen verwechselt werden, funktioniert der LED Strip nicht. Für die Orientierung helfen dabei die Pfeile und die kennzeichung DIN für die Eingang und DOUT für den Ausgang.

Bei mehr als 15 LEDs solltest du nicht mehr über einen Arduino betrieben sondern auch noch ein externes Netzteil benutzen weil sonst der Arduino beschädigt werden kann.

WS2812B am Arduino

Um den LED Strip am Arduino zu betreiben können wir den einfach über die Jumper Kabel anschließen. Beachte aber das die Stromversorgung ein Problem sein kann.

WS2812B am Arduino

Anschlüsse Arduino Anschlüsse WS2812B LED Stripe
GND GND
~11 DIN (Data Input)
5V 5V

Du kannst dabei den LED Strip an jeden PWM Pin vom Arduino anschließen, diese erkennst du an der ~ bevor der Zahl.

FastLED

Bevor wir endlich anfangen können den LED Stripe zu Programmieren müssen wir noch die FastLED Bibliothek herunterladen. Diese brauchen wir damit wir den LED Strip einfach selber Progarmmieren können. Das geht aber zum Glück mit der Arduino IDE ganz einfach. Ihr geht dafür einfach unter Sketch -> Bibliothek Einbinden -> Bibliotheken Verwalten

Jetzt könnt ihr oben Rechts im Textfeld das Sortiment der Bibliotheken durchsuchen. Also einfach den Namen fastled eintippen und Enter drücken. Danach solltet ihr das gleiche sehen was hier abgebildet ist. Um die Bibliothek zu installieren musst du dann einfach nur auf Installieren Klicken.

Die ersten Schritte

Für den nächsten Schritt schreiben wir unser erstes Programm für den LED Strip. Alles was dieses erste Programm machen

#include "FastLED.h"

#define ANZAHL_LEDS 10
#define LED_PIN 11
CRGB leds[ANZAHL_LEDS];

void setup() {
  FastLED.addLeds<NEOPIXEL, LED_PIN>(leds, ANZAHL_LEDS);
}

void loop() {
  leds[0] = CRGB::Red;
  FastLED.show();
  delay(1000);
  leds[0] = CRGB::Blue;
  FastLED.show();
  delay(1000);
  leds[0] = CRGB::Green;
  FastLED.show();
  delay(1000);
  leds[0] = CRGB::Yellow;
  FastLED.show();
  delay(1000);
  leds[0] = CRGB::Black;
  FastLED.show();
  delay(1000);
}

Animationen


void loop() {
  for (int i = 0; i < ANZAHL_LEDS; i++) {
    leds[i] = CRGB::Green;
    FastLED.show();
    leds[i] = CRGB::Black;
    delay(200  );
  }
}

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!