In diesem ersten Teil zeige ich dir, wie du einen Weihnachtsstern mit RGB LEDs vom Typ WS2812B aufbaust.
Das 3D Model zu diesem Weihnachtsstern habe ich von der Seite Thingiverse.com geladen.
Der gesamte Druck der 3 Bauteile für diesen Weihnachtsstern hat knapp 8h mit dem Anycubic Mega Pro gedauert.
Bauteile im Überblick
In dem ZIP-File von Thingiverse sind 3 Bauteile enthalten, wobei dieser für LED-Stripes ausgelegt sind, da ich diese jedoch nicht da hatte, habe ich die mir vorliegenden RGB LEDs vom Typ WS2812B verwendet.
Löten der RGB LEDs
Wenn du ein RGB LED-Stripe verwendest, dann kannst du diesen Schritt überspringen. In meinem Fall musste ich die Litzen abmessen und an die LEDs löten. Dabei war zu beachten, dass die LEDs eine Din und Dout Seite haben.
Da die LEDs recht klein sind, muss man beim Löten schnell aber trotzdem sauber arbeiten, damit diese nicht überhitzen und zerstört werden. Auch ist mir aufgefallen, dass diese kleinen Lötpunkte sich gerne bei zu langem Kontakt mit dem Lötkolben ablösen.
Anschluss an den Arduino UNO
Wie du ein RGB LED-Stripe am Arduino UNO programmierst, habe ich dir bereits in den nachfolgenden Beiträgen gezeigt.
- Arduino Lektion 66: WS2812B RGB LED Stripe
- LED Stripe am Arduino UNO steuern
- LED Stripe wechsel blinken am Arduino UNO R3
- LED Stripe wechsel blinken am Arduino UNO R3 – Teil2 einzelne LEDs steuern
- LED Stripe wechsel blinken am Arduino UNO R3 – Teil3 LED Stripe kaskadierend anschließen
Für den Aufbau der Schaltung benötigen wir noch zusätzlich:
- einen Arduino UNO*,
- ein passendes Datenkabel*,
- einen 220 Ohm Vorwiderstand*,
- ein Breadboardkabel*,
- ein 170 Pin Breadboard*,
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Die erste LED des RGB LED-Stripes schließen wir wie folgt an:
- + > 5V
- – > GND
- “mitte” > 220 Ohm Widerstand > digitaler Pin D3
Quellcode zum Testen des Weihnachtssterns
Im Nachfolgenden zeige ich dir nun ein kleines Programm, mit welchem du deinen Weihnachtsstern zum rot blinken bringst.
// Importieren der Bibliothek "FastLED" #include <FastLED.h> // Wieviele LEDs sind auf dem LED Stripe? #define NUM_LEDS 6 // digitaler Pin an welchem der LED Stripe angeschlossen ist #define DATA_PIN 3 // Ein Array mit den LEDs CRGB leds[NUM_LEDS]; void setup() { //definieren des WS2812B LED Stripe vom Typ GRB (Green, Red, Blue) //sollte ggf. ein anderer Typ verwendet werden so muss dieser hier angepasst werden. //Mögliche Typen sind im Blink Beispiel unter https://github.com/FastLED/FastLED/blob/master/examples/Blink/Blink.ino // enthalten. FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); } void loop() { // eine Schleife von 0 bis NUM_LEDS for(int i=0;i<=NUM_LEDS;i++){ // LED an Position "i" in ROT leds[i] = CRGB::Red; // aktivieren der gesetzen Werte FastLED.show(); // eine Pause von 50ms. delay(50); // deaktivieren der LED / es wird lediglich die Farbe schwarz gesetzt leds[i] = CRGB::Black; // aktivieren der gesetzen Werte FastLED.show(); } }
Wenn du das Beispiel auf den Mikrocontroller gespielt hast, dann sollte dein Weihnachtsstern wie folgt aufblinken.
Die Frequenz kannst du ändern, indem du die Pause von 50ms vergrößerst oder verkleinerst.
Ausblick
Dieses war der erste Teil in welchem wir zunächst diesen kleinen Weihnachtsstern aufgebaut haben, im nächsten Schritt werden wir diesen nun per Infrarot Fernbedienung und Wi-Fi steuern.
Die Steuerung per Infrarot ist mit einer Fernbedienung von RGB Stripes denkbar einfach, aber dazu später mehr.
Für die Steuerung per WiFi nutzen wir den Wemos D1 Mini mit entsprechendem IR Shield.