Digi-Dot-Booster am STM32 Nucleo Board mit mbed

Nach erfolgreichen Versuchen mit dem Digi-Dot-Booster am Raspberry Pi, habe ich mich nach weiteren Plattformen umgeschaut, die mit wenig Aufwand zu schnellen Ergebnissen führen würden. Nach kurzem Durchwühlen der Bastelkiste kam ein STM32 Nucleo Board zum Vorschein. Das interessante bei diesem Board ist, dass es bereits für die ARM mbed Plattform vorbereitet ist. Die Webseite stellt einen Online Code Editor mit C/C++ Compiler  inklusive zahlreicher Bibliotheken für den Zugriff auf die Schnittstellen zur Verfügung – optimal für einen schnellen Test ohne eine komplette Entwicklungsumgebung aufsetzen zu müssen. Also kam das Board aus der Kiste auf den Arbeitstisch zum Experimentieren…

Weiterlesen

Digi-Dot-Booster am Raspberry Pi mit JavaScript ansteuern

Nach Python und Lua hat mich die Neugier gepackt und ich habe mir die Frage gestellt, wie der SPI Bus mit JavaScript gesteuert werden kann. Auch hier war die Voraussetzung, dass es bereits eine passende Bibliothek dafür geben muss. Von JavaScript sollte schon mal jeder im Zusammenhang mit seinem Browser auf dem Rechner gehört haben. JavaScript eignet sich aber nicht nur zum Erstellen hochdynamischer interaktiver Webseiten, sondern auch für den Einsatz im Backend auf der Serverseite und muss sich bei Performance-Messungen nicht hinter den nativen Implementierungen verstecken. Auch für die Hardwaresteuerungen existiert eine Vielzahl an Modulen.

Weiterlesen

Digi-Dot-Booster am Raspberry Pi mit Lua ansteuern

Nachdem ich den Digi-Dot-Booster ziemlich schnell auf dem Raspberry Pi mit Python zum Laufen gebracht habe, stellte sich mir die Frage, mit welchem Aufwand SPI in anderen Sprachen verwendet werden kann. Als Versuchsobjekt kam wieder der Digi-Dot-Booster zum Einsatz.
Bei der Auswahl der Sprachen stand die Verfügbarkeit der Bibliotheken zur einfachen Ansteuerung des SPI Buses im Vordergrund. Nach Python habe ich mir Lua angeschaut.

Weiterlesen

Digi-Dot-Booster am Raspberry Pi mit Python ansteuern

Folker hat gerade den Digi-Dot-Booster angekündigt und ich hatte die Möglichkeit, mich  schon im Vorfeld  etwas damit zu beschäftigen. Zur Ansteuerung kamen bei den Tests unterschiedliche Boards, die ich in meiner Bastler-Kister habe. Am Interessantesten neben Arduino ist sicherlich Raspberry Pi und darum geht es auch im folgenden Beitrag.

Weiterlesen

Digi-Dot-BOOSTER – Arduino und Raspberry – jetzt kinderleichte Ansteuerung von WS2812 Digi-Dots bzw. Neo-Pixel

Es ist soweit! Ab sofort kann man die beliebten WS2812 (und kompatible) mit dem Arduino oder Raspbery (oder mit einem beliebigen, anderen System) ansteuern.

Ja und? Das ging ja vorher auch – Adafruit Library und Arduino -> kein Problem!

Ahhhh ja, ganz soooo einfach ist die Welt ja auch nicht: Der Arduino, die Jünger mögen es mir nachsehen, ist ja nur ein AVR-Prozessörchen Mega328, klingt groß – ist aber leider nischt! Der macht schon Spaß beim Programmieren – zugegeben. Nur ist der AVR-Controller mit der Ansteuerung der Digi-Dots (Neo-Pixel) völlig ausgelastet. Liegt am schnellen Protokoll und an der Art und Weise der Erzeugng desselben mit einem AVR -> Bitbanging. Das Strip-Protokoll kann man nicht komfortabel per DMA erzeugen, dazu ist der AVR einfach zu rechenschwach. Steuert man Digi-Dots an, dann wars das, alle anderen Dinge, die der Arduino tun könnte, Tastatur- oder Sensorenabfrage, Behandlung von Ereignissen – schlicht die Prozesssteuerung ansich ist bei LED-Ansteuerung nicht mehr sinnvoll möglich. Ok, nimmt man einen zweiten Arbuino – halt Stop! Hier wirds doch oppulent, oder?

Besser man nimmt eine kleine Platine, genannt Digi-Dot-BOOSTER, denn Digi-Dot-BOOSTER kümmert sich komplett um die WS2812 Protokolle. Man sagt Digi-Dot-BOOSTER einfach was ausgegeben werden soll, Regenbogen, Abläufe oder statische Farben, von LED bis LED, rückwärts oder vorwärts, abgestuft, schnell langsam usw.
Das geht mittels Script ganz simpel und ultraschnell. Von 94% Prozessorlast auf 0,04% herab! Der Arduino kann nun das tun, wofür er gedacht ist – Ablaufsteuerung!
Die vorher so aufwändige Signalisierung übernimmt der Digi-Dot-BOOSTER alleine. Und der kann das viel, viel besser.

Beim Raspberry liegt die Situation etwas anders. Leistung ist satt da, jedoch ist das Echtzeitbetriebssystem des Raspi nicht unbedingt für die Ausgabe der WS2812-Protokolls geeignet, weil es hier auf exakt-zyklische Erzeugung der Signale ankommt. Auch hier hilft der Digi-Dot-BOOSTER weiter. Mit Phyton beispielsweise ist das eine Kleinigkeit tolle Effekte zu zaubern. Die beliebte Scriptsprache ist dafür einfach perfekt geeignet.

Digi-Dot-BOOSTER kostet ab 5 Euro (10er Pack) und macht genau das, was ihr auf Digi-Dots ausgeben wollt.
Signale, Effekte, Illumination oder Beleuchtung.

Egal welches System benutzt wird.

Anleitung

Beispiel für Arduino

 

LED-Tester oder Effektzuspieler…

…könnte man das Teil nennen. Norbert (nofri) hat uns da auf die Spur gebracht. Die Fernost Gerätchen nutzen den prähistorischen 89C51 Controller – und „zaubern“ per Bitbanging Effekte auf einen RGB oder RGBW Strip. Die kosten zwar nur 6-8 Dollar, dafür können sie aber auch nix. Immer volle Pulle und superbunt (ich schrieb schon darüber).

Die rudimentäre Tastenabfrage des China-Teils ist natürlich der schmalen Prozessorleistung geschuldet, auch die überschaubaren Effekte, die schwer nachvollziehbar irgendwie einstellbar sind (Geduld und viel Taste drücken).

Naja ok, wir nehmen einen 32bitter – Cortex M0 von STM – der hat Megapower, Megaspeicher und ist dennoch bezahlbar. Im Stickgehäuse aus ABS – das Chinastreifchen kommt im Gegensatz mit Schrumpfschlauch daher.

Klare Bedienbarkeit, sauber via Klemme anschließbare Stromversorgung und Anschluss der Strips plus drei Tasten-Bedienung. Visualisiert über zwei LEDs – fertig.

Wird Ende März (2016) verfügbar sein, steuert 384 LEDs, RGB oder RGBW einstellbar. Drei-Tasten-Bedienung. Viele Effekte on Board. Also doch mehr als ein Tester  🙂

Kostet 7,90 Euro

Bilder des Prototypen:

Tester_Stick4_sm Tester_Stick3_sm Tester_Stick2_sm