Diesmal dreht sich alles um Displays. Wir zeigen, wie sie funktionieren und welche Treiber Sie unter MicroPython installieren müssen.
Den Testaufbau für unser Projekt sehen Sie in Abbildung 1. Er besteht aus einem Arduino Nano RP2040 Connect [1], einem 0,96-Zoll-OLED-Display (Schwarz-Weiß) mit I2C-Schnittstelle [2] und einem 1,8-Zoll-TFT-Display (Farbe) mit SPI-Schnittstelle [3]. Alle Komponenten sind auf zwei Breadboards montiert, den zugehörigen Schaltplan zeigt Abbildung 2.
Da wir den Arduino Nano RP2040 Connect zum ersten Mal in dieser Artikelreihe verwenden, nehmen wir ihn ein wenig genauer unter die Lupe. Bei dem auf dem Board verbauten Mikrocontroller handelt es sich um denselben RP2040 wie beim Raspberry Pi Pico, dennoch ist das Board kleiner und birgt interessante Überraschungen.
Einerseits gibt es einen Lage-, Beschleunigungs- und Temperatursensor (LSM6DSOX), andererseits unterstützt das Arduino Nano RP2040 Connect zusätzlich Wi-Fi und Bluetooth. Außerdem hat der Flash-Speicher eine Größe von 16 MByte, der Pico bietet lediglich 2 MByte. Als Sahnehäubchen bekommen Sie noch ein Mikrofon dazu (MP34DT06JTR). Falls Sie sich intensiver mit dem Board beschäftigen wollen, eignet sich die Produkt-Homepage [4] gut als Einstieg. Abbildung 3 zeigt das Pinout des Arduino Nano RP2040 Connect. Es ist immer ungemein hilfreich, die Anschlussbelegung einer Komponente direkt vor Augen zu haben.

Abbildung 1: Der Testaufbau auf zwei Breadboards setzt sich aus zwei Displays und einem Arduino Nano RP2040 Connect zusammen.

Abbildung 3: Das Pinout des Arduino Nano RP2040 Connect veranschaulicht die Anschlussbelegung. Quelle: Arduino
IDE installieren
Für unseren Test nutzen wir das Arduino Lab als Entwicklungsumgebung für MicroPython. Die IDE [5] laden Sie als ZIP-Datei für Linux, Windows und MacOS von der Projekt-Homepage herunter. Die ZIP-Datei entpacken Sie nach dem Herunterladen in ein leeres Verzeichnis. Mit einem Klick auf die Datei arduino-lab-micropython-ide startet die IDE.
Zusätzlich benötigen Sie noch eine Software [6], die das MicroPython-Image auf den Arduino-Mikrocontroller spielt. Für Debian und Ubuntu gibt es ein Installationspaket, das Sie problemlos einbinden können. Nach dem Start erkennt der MicroPython-Installer automatisch das Board, zum Installieren genügt ein Mausklick darauf. Während der überraschend schnell abgeschlossenen Einrichtung wird das passende MicroPython-Image heruntergeladen. Anschließend müssen Sie das Board rebooten, damit MicroPython darauf startet. Ein kurzes Trennen der USB-Verbindung genügt dazu.
Bitte beachten Sie, dass aktuell nur folgende Arduino-Boards unterstützt werden: Nano BLE, Nano BLE Sense, Nano BLE Sense Rev2, Nano RP2040 Connect, Nano ESP32, Nicla Vision, GIGA R1 Wi-Fi, Portenta H7 und Portenta C33. Falls Sie mehr über Arduino-MicroPython erfahren möchten, bietet die offizielle Homepage [7] einen guten Einstiegspunkt. Dort erhalten Sie zudem die Originalanleitung [8] zur Installation von Arduino-Boards.
Erster Test
Ein erster Test soll prüfen, ob die Umgebung wie erwartet arbeitet. Dazu verbinden Sie zunächst die IDE mit dem Mikrocontroller. Das erledigen Sie, indem Sie auf Connect klicken und daraufhin die entsprechende serielle Schnittstelle auswählen. Bitte beachten Sie, dass die Schnittstellen abhängig vom Betriebssystem unterschiedliche Namen aufweisen. Eventuell müssen Sie außerdem noch Treiber nachinstallieren.
Das Programm aus Listing 1 lässt die Onboard-LED des Arduino Nano RP2040 Connect blinken. Das Beispiel greift nicht auf den üblichen Code zurück, um die LED zum Blinken zu bringen. Stattdessen wird hier die Variable c (Zeile 4) hochgezählt und deren Bit 0 mit der bitweisen AND-Verknüpfung ausmaskiert und als Wert für die LED verwendet. Das Bit 0 ändert bei jedem Schleifendurchlauf seinen Wert. So sorgen Sie mithilfe der unkonventionellen Methode dafür, dass die LED blinkt.
Listing 1
Blink-Beispiel
from machine import Pin
from time import sleep
led=Pin("LED",Pin.OUT)
c=1
while True:
led.value(c&1)
sleep(0.5)
c=c+1
Bibliotheken installieren
Hinter Displays stecken relativ komplexe Komponenten mit vielen Funktionen. Deswegen ist es auf jeden Fall sinnvoll, sie über eine passende Bibliothek anzusprechen. Ein Weg, um eine Bibliothek auf ein MicroPython-Board zu bekommen, besteht darin, sie herunterzuladen und per Dateibrowser auf das Board zu kopieren.
Eine wesentlich charmantere Methode offeriert das Tool Mpremote: Mit dessen Hilfe spielen Sie die Bibliotheken direkt aus dem Internet auf den Controller. Listing 2 zeigt die dazu nötigen Kommandos. Im vierten Teil dieser Artikelserie [9] haben wir Mpremote bereits vorgestellt. Wenn Sie tiefer in das Thema einsteigen möchten und Fragen zum Werkzeug haben, werfen Sie einen Blick in diesen Artikel.
Listing 2
Bibliotheken kopieren
$ mpremote mip install github:stlehmann/micropython-ssd1306/ssd1306.py $ mpremote mip install github:boochow/MicroPython-ST7735/ST7735.py $ mpremote mip install github:GuyCarver/MicroPython/lib/sysfont.py







