Forum: Projekte & Code Einfache Ansteuerung von 8x WS2812B


von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

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

Beitrag #7515349 wurde vom Autor gelöscht.
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Es waren noch ein paar kleine Fehler drin, hier die Korrektur.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.