Calliope mini v1 und v2 haben jeweils ein NeoPixel on Board, eine in vielen Farben ansteuerbare RGB-LED. Der Calliope mini v3 besitzt davon drei, die sich unabhängig voneinander ansteuern lassen.
Seit einiger Zeit beschäftige ich mich mit der Programmierumgebung MicroBlocks, mit der sich ganz unterschiedliche Microcontrollerboard und viele Zusatzoptionen programmieren lassen. Die Erweiterung „NeoPixel“ in MicroBlocks ermöglicht die Steuerung von NeoPixel-Streifen, -Ringen und -Panels mit 10, 20, 30 oder sogar mehr als 60 LEDs. Für einen Calliope mini erscheinen die Blöcke für die Ansteuerung von so vielen RGB-LEDs etwas übertrieben, wo doch nur eine bzw. drei LEDs vorhanden sind. Außerdem ist es mit der bisherigen Erweiterung „NeoPixel“ in MicroBlocks nicht möglich gewesen, die internen Calliope-LEDs on Board und einen externen NeoPixel-Streifen mit 60 LEDs gleichzeitig anzusteuern. Schade eigentlich!
Ich habe deswegen die Erweiterung „Calliope NeoPixel“ für MicroBlocks programmiert, die sich alleine auf die Calliope-eigenen RGB-LEDs konzentriert, und zwar unabhängig von NeoPixel-Streifen am Grove-Anschluss A1 oder an irgendeinem anderen Pin.
Das nachfolgende Bildschirmfoto zeigt die Erweiterung „Calliope NeoPixel“ in MicroBlocks. Was passiert im Beispielprogramm? Wohin wandert die rote LED, wenn sie mit dem Befehl „rotiere NeoPixel um 100“ verschoben wird? Wo steht die rote LED, nachdem der Befehl „rotiere Neopixel um -50“ ausgeführt ist?
Hier ist das ganze Programm … bitte in Chromium, Chrome oder Edge öffnen:
https://microblocks.fun/run-pilot/microblocks.html