Colorful Worms for Susi
Lasst farbige Würmer sausen!
Ein farbiger Punkt läuft immer im Kreis herum, wobei er einen immer dunkler werdenden Lichtschweif hinter sich herzieht. Im Laufe der Zeit ändert dieses Würmchen langsam seine Farbe, sodass er den ganze Regenbogen durchmacht.
Dazu hängt eine kreisförmige Platine mit einigen RGB-LEDs an einem Arduino, der für jede einzelne LED die Farbe berechnet und diese Information dann über eine Leitung zu den LEDs schickt. Die LEDs hängen alle nacheinander an dieser Leitung. Jede LED schneidet aus dem Datenstrom, der vom Arduino kommt, die für ihne geltenden Farb-Werte heraus und leitet die restlichen Werte an die nächste LED weiter.
Das wird dazu benötigt:
- Ein Arduino, z. B. ein Arduino Nano. Bei Exp-Tech für 23€, bei Aliexpress mit einem nervigen CH340-USB-Chip für 2€.
- Ein Ring mit ein paar WS2812 LEDs. Die Firma Adafruit nennt sie 'NeoPixel'. Bei Exp-Tech für 7 €, bei Aliexpress für 2€.
- Lötzinn und Kabel, um die beiden miteinander zu verbinden.
Löten: Arduino Und LEDs Verbinden
Es müssen folgende Verbindungen gemacht werden:
"Power Signal Ground" der LEDs mit "GND" des Arduino.
"Power 5V DC" der LEDs mit "+5V" des Arduino.
"Data Input" der LEDs mit "D13" des Arduino Nano. Es kann natürlich jeder andere Digitale Ausgang des Arduinos ebenfalls verwendet werden. Welcher Port wirklich verwendet wurde, muss dann noch im Programm eingestellt werden.
Arduino: Bibliothek Einbinden
Für die WS2812/NeoPixel muss die entsprechende Bibliothek in die Entwicklungs-Umgebung für den Arduino eingebunden werden.
In der Arduino-Umgebung öffnen: Sketch / Bibliothek einbinden / Bibliotheksverwalter
Im Such-Feld rechts oben "Neopixel" eingeben. Dadurch wird die Auswahl eingeschränkt.
Die Bibliothek "Adafruit NeoPixel by Adafruit" auswählen und auf den dann erscheinenden Knopf "Installieren" klicken.. Achtung, da gibt es mehrere ähnlich lautende Bibliotheken, es muss exakt diese sein. Dann den Bibliotheksverwalter schließen.
Beispielprogramm Starten
Unter Datei / Beispiele befindet sich nun irgendwo ein Eintrag "Adafruit NeoPixel". In diesem eines auswählen, zum Beispiel "strandtest", damit lässt sich prüfen, ob die LEDs überhaupt funktionieren.
Im Programm die Initialisierung PIN auf die Pin-Nummer ändern, an der der "Data In" der NeoPixel hängt. Die Anzahl der Pixel im Ring in NUMPIXEL anpassen.
Einen Farbigen Wurm Sausen Lassen
Ein imposanteres Programm findet sich auf Github.
Es zeigt auf einem NeoPixel-Ring einen farbigen Punkt, der einen Schweif hinter sich herzieht. Punkt und Schweif ändern ihre Farbe in einem langsamen Rhythmus.
Die Rot-, Grün- und Blauwerte für den Farbwechsel werden durch drei verschobenen Sinus-Kurven berechnet.
Die physiologisch richtigen PWM-Werte für die Farben und die Helligkeit werden über eine logarithmische Tabelle erzeugt.