Hallo Allerseits,
hier mal eine kleine Spielerei mit den allseits bekannten und beliebten
intelligenten LEDs vom Typ WS2812B. Ziel des Projektes war es, auch
Laien mit sehr wenigen Programmierkenntissen ein Projekt zur Verfügung
zu stellen, mit dem sie mit minimalem Aufwand 8 LED-Ketten ansteuern
können. Mittels vier Taster kann man die LED-Muster durchschalten. Im
Beispiel wird aber nur ein Taster benutzt, um 8 Programme
durchzuschalten. Die Anzahl der LED-Programme kann aber sehr einfach
erweitert werden. Es stehen praktisch 4 LED-Modi zur Verfügung, die mit
einem einfachen Funktionsaufruf erreicht werden.
1 | * Alle LEDs konstante, gleiche Farbe
|
2 | * Alle LEDs mit konstantem Muster, verschiedene Farben
|
3 | * LED Muster wird rotiert, links oder rechts herum, Geschwindigkeit einstellbar
|
4 | * LED Animation, eine Sequenz von Mustern wird mit einstellbarer Geschwindigkeit abgespielt
|
In jedem Programm kann für jede LED-Kette eine andere Art der
Ansteuerung benutzt werden, sprich, eine LED kette hat konstante Farbe,
eine andere ist animiert.
Herzstück ist der Raspberry PI Pico, der ist klein und fein und hat
ausreichend Speicher. CPU-Leistung ist nebensächlich, auch ein guter,
alter Arduino Nano könnte das treiben, wenn man nicht soviele Muster
benötigt. Praktisch sollte es jeder beliebige Arduino tun, es ist alles
100% Arduino-konform geschrieben. Nur für die AVR-Typen müßte man die
Muster per PROGMEM in den Flash verlagern.
Das wichtigste Werkzeug im Projekt ist der Konverter für die LED-Muster,
vor allem die Animationen. Diese zeichnet man mit einem Malprogramm
seiner Wahl (bei mir Paint Shop). Das Bild muss als 24 Bit BMP
gespeichert werden.
Breite = Anzahl der LEDs / Ausgang (Kette)
Höhe = Anzahl der Muster in der Animation
Console öffnen
bmp24toc Bild.bmp >test.c
Liest die Daten aus Bild.bmp und schreibt den Quelltext in test.c
Den kann man dann in sein Projekt kopieren (led_programme.cpp), einen
Namen vergeben und in einem LED-Programm nutzen. Die Beispiel sollten
das gut erklären.
Viel Spaß beim Nachbauen
P S https://youtu.be/uO1NVmIwOeU