Das Beispielprogramm "LED-Stripes" erzeugt einen animierten Farbverlauf mit beliebig vielen LEDs. Zum weiteren Experimentieren sind Funktionen zum Ansteuern einzelner LEDs ebenfalls implementiert.
Der Mikrocontroller wird mit 24MHz getaktet, um mittels SPI das geforderte 800kHz Signal erzeugen zu können. Der Sendevorgang selbst wird dabei vom DMA Controller übernommen, sodass die Ressourcen der CPU für andere Aufgaben frei bleiben.
Um den Code übersichtlicher zu halten, dient die Standard Peripheral Library (Version 3.5.0) von STM als Grundlage. Dadurch erspart man sich viel Arbeit mit den Registern und der Code bleibt einfacher.
Zum Aufbau wird nur sehr wenig Hardware benötigt. Das 3,3V Ausgangssignal des Mikrocontrollers wird mit dem Inverter auf einen 5V Pegel gebracht. Der Ausgang des Inverters wird mittels 220Ω Widerstand mit dem Eingang des LED Stripes verbunden.
Die Schaltung kann auch ohne Inverter verwendet werden, allerdings hat dies beim Testen nicht reibungslos funktioniert. Wer es probieren möchte, muss nur die nichtinvertierte Signalausgabe im Header aktivieren.
Mit dem Testprogramm und obiger Schaltung habe ich ein kurzes Video erstellt, in dem der ganze Aufbau in Aktion zu sehen ist.
Die Ansteuerung ist für einen Stripe mit 120 LEDs vorkonfiguriert. Per Änderung von NR_OF_LEDS kann eine beliebe Länge angesteuert werden.
Die LED-Stripes sind bei Amazon und anderen Anbietern in unzähligen Versionen erhältlich.
Für obiges Video wurden Stripes
eingesetzt.
(Versand sollte auch nach Österreich klappen, obwohl anders angegeben)