In diesem Beitrag möchte ich dir zeigen wie du die 7×17 LED Matrix am Pico:ed mit CircuitPython programmierst.
Im letzten Beitrag Mikrocontroller Pico:ed habe ich dir diesen bereits vorgestellt und gezeigt wie diese in der Thonny IDE mit MicroPython programmiert werden kann. In diesem Beitrag soll es jedoch darum gehen wie du diesen mit der recht ähnlichen Programmiersprache CircuitPython programmieren kannst.
Flashen des Pico:ed mit der neuen Firmware für CircuitPython
Damit wir den neuen Funktionsumfang nutzen können, flashen wir den Pico:ed zunächst für CircuitPython 7.3.0.
Adafruit CircuitPython 7.3.0 on 2022-05-23; ELECFREAKS PICO:ED with rp2040
Board ID:elecfreaks_picoed.
Die neue *.uf2 Datei kannst du von der Seite CircuitPython ELECFREAKS Pico:ed herunterladen.
Damit du den Mikrocontroller Pico:ed für CircuitPython flashen kannst, musst du den RESET Taster gedrückt halten, wenn du den USB Stecker mit dem Computer verbindest. Wenn du ein Windows System verwendest, dann wird dir im Explorer ein Laufwerk “CIRCUITPY(D:)” angezeigt. Auf dieses Laufwerk kannst du im Abschluss per Drag’n Drop die Datei kopieren / verschieben.
Nach dem die Datei kopiert wurde, wird das Laufwerk getrennt und neu verbunden!
Download der Pico_ed Bibliothek
Für den Pico:ed gibt es von ElecFreaks eine Bibliothek, mit welcher du die Taster und die LED Matrix ansteuern kannst. Diese findest du auf der Seite Programming Environment Preparation for Pico:ed V2 als ZIP-Datei zum Download.
Die ZIP-Datei musst du mit zbsp. 7Zip entpacken und den Ordner “picoed” nach “CIRCUITPY(D:)”\lib\” kopieren.
Adafruit IS31FL3731 Bibliothek zum steuern des Displays
Neben der bereits kopierten Bibliothek von ElecFreak benötigst du noch die Bibliothek “adafruit_is31fl3731” welche du vom
GitHub Repository adafruit / Adafruit_CircuitPython_IS31FL3731 als ZIP-Datei herunterladen.
Aus dieser ZIP-Datei wird der Ordner “adafruit_is31fl3731” ebenfalls nach “CIRCUITPY(D:)”\lib\” kopiert.
Du solltest nun folgende Dateien im “lib” Ordner deines Pico:ed haben:
Programmieren der LED Matrix am Pico:ed mit CircuitPython
Kommen wir nun dazu die 7×17 LED Matrix mit CircuitPython zu programmieren. Durch die eingesetzten Bibliotheken / Module wird die Programmierung sehr einfach und wir brauchen lediglich ein paar Importstatements und wenige Zeilen zusätzlichen Code.
from picoed import * while True: if button_a.is_pressed(): display.scroll("push Button A!") if button_b.is_pressed(): display.scroll("push Button B!")
Hinweise zur offiziellen Dokumentation von ElecFreak
Auf der Seite Pico:ed V1-Python Samples findest du ein paar kleine Beispiele wie du die Taster und die LED Matrix programmieren kannst. Jedoch habe ich festgestellt, dass der dargestellte Code nicht mit der aktuellen Bibliothek / dem Modul “picoed” kompatibel ist.
Es gibt zbsp. kein Feld “ButtonA”, “ButtonB” sondern “button_a” & “button_b”. Des Weiteren heißt die Funktion zum Darstellen von Text auf der 7×17 LED Matrix nicht “show”, sondern “scroll”.