Einfache Ansteuerung von 8x WS2812B

OP #7510758
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

Angehängte Dateien:
Beitrag #7515349 wurde von einem Moderator gelöscht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.