Nachdem ich die wichtigsten Befehle zum Ansteuern der RGB-LEDs (Neopixel) schon im Beitrag Neopixel mit Calliope Mini verwenden vorgestellt habe, gibt es diesmal etwas zu Neopixeln die in Rechtecken oder Quadraten angeordnet sind. Dies können auseinandergeschnittene Led-Streifen sein die man nebeneinander klebt oder auch fertige Neopixelflächen, wie die hier verwendete micropixel-matrix von Proto-pic. Eigentlich für den micro:bit gedacht, kann man sie aber problemlos mit der callio:bit-Erweiterung oder der Stella-Erweiterung ab V3.3 verwenden.
AnschlussFür alle die nicht löten möchten wenden wir einen einfachen Trick an, der auch bei anderen Erweiterungen funktioniert: Wir speisen die Erweiterung mit drei Krokodilklemmen von hinten über die vergoldeten 4mm Löcher wie auf dem Foto zu sehen:
Und schon kann es losgehen:
Probleme mit dem Neopixelpaket!Zur Zeit (23.7.2018) gibt es Probleme mit dem aktuellen Neopixelpaket. Mögliche Lösungen im Forum oder eine der hier angehängten .hex - Dateien laden und das Paket nicht aktualisieren oder wie ich das proto-pic Paket verwenden.
proto-pic Neopixel?Grundsätzlich sollte alles mit dem normalen Neopixel-Paket funktionieren. Zur Zeit gibt es aber wie oben beschrieben Probleme damit. Die eigentlichen Befehle sind auf jeden Fall die gleichen ;-)
8x4=32 LEDs sind zwar seeeehr hell, brauchen aber auch viel Strom den der Calliope liefern muss. Bei zu viel Stromverbrauch verabschiedet sich aber unser Calliope. Deswegen sollte man wenn der Fall eintreten kann, das alle LEDs leuchten die Helligkeit reduzieren. Der Hersteller empfiehlt 100. Das geschieht mit dem Befehl setbrightness(100)
Der Matrix BefehlWenn man die eigentlich aneinandergereihten LEDs so bequem wie auf der roten LED-Matrix vom Calliope ansprechen will, legt man mit dem Befehl
setmatrixwidth(8)
die Anzahl der LEDs in einer Reihe (Spaltenzahl / x-Wert) fest.
In unserem Fall sind das 8.
Jetzt kann man die LEDs mit setmatrixcolor at x y to Farbe ansprechen
Mit diesen paar Beispielzeilen kann man auch sehen, wie die Matrix angeordnet ist, nämlich auf dem Kopf:
Mit dem Befehl Range kann man eine LED-Kette in einzelne Bereiche einteilen. Die 32 LEDs teilen wir in 4 Streifen zu 8 LEDs. Beim Range Befehl muss man als ersten Parameter angeben, an welcher LED der Bereich starten soll und als zweiten Parameter die Anzahl der LEDs, nämlich 8. Und dann kann man die 4 Bereiche wie unabhängige LED-Ketten behandeln, beispielsweise mit Shift oder Rotate. So, wie in meinem ersten Beitrag zu den Neopixeln.
So kann man die LEDs gegeneinander laufen lassen:
So, viel Spaß!
Comments