Raspberry Pi Pico

Version 1.00, 16.03.2022

Der Raspberry Pi Pico eignet sich für einfache Steuerungen, ist im Gegensatz zum Raspberry Pi aber kein Computer, auf dem ein Betriebssystem installiert werden kann und der über LAN, Bluetooth, HDMI und mehrere USB Anschlüsse verfügt. Dafür besitzt der Pico bereits einen AD Wandler und kann analoge Signale direkt in Digitalwerte umwandeln. Der Raspberry Pi benötigt dafür ein Zusatzmodul. Weitere Vorteile des Pico sind seine Größe (Platine: 51 x 21 mm) sowie der geringe Stromverbrauch. Nicht zu vergessen der sehr günstige Preis ab 3,90 Euro.




Für die ersten Gehversuche mit dem Pico reichen der Raspberry Pi Pico (kurz Pico genannt), ein Standard microUSB Kabel und ein Computer. Lötkenntnisse sind für den Einstieg nicht erforderlich.



Neben dem microUSB Anschluss (blau umrahmt), befinden sich auf der Platine ein kleiner Taster (gelb umrahmt, mit BOOTSEL "Boot Selector" beschriftet) und eine grün leuchtende LED (rot umrahmt). Programmiert werden kann der Pico entweder mit C++ oder microPython. Für Anfänger ist microPython sicherlich die bessere Wahl. Die dafür erforderliche Laufzeitumgebung muss zuerst aus dem Internet heruntergeladen werden. Dazu auf der Seite https://www.raspberrypi.com/documentation/microcontrollers/ MicroPython auswählen und die MicroPython UF2 Datei herunterladen (wird in Windows üblicherweise in Downloads abgelegt). Stand März 2022 handelt es sich um die Datei rp2-pico-20220117-v1.18.uf2.

Die nächsten Schritte:


Damit ist der Pico einsatzbereit. Die oben aufgeführten Schritte lassen sich beliebig oft wiederholen, um z.B. eine neuere Version von MicroPython herunterzuladen oder mit C++ zu arbeiten. Wie aber kann ich jetzt Programmieren und den Programmcode auf dem Pico ausführen? Dafür bietet sich die einfach gehaltene Thonny Python IDE Entwicklungsumgebung an. Auf der Seite https://thonny.org/



die Installationsdatei über den Windows Link herunterladen (thonny-3.3.13.exe, 17,1 MB), installieren und Thonny starten. Bei der erstmaligen Nutzung kann die Sprache ausgewählt werden (z.B. Deutsch, ich bevorzuge Englisch). Nach der Bestätigung der Sprache steht Thonny zur Verfügung:



Thonny ist jetzt fast einsatzbereit. Es muss lediglich noch der richtige Interpreter eingestellt werden. Im Menü Tools - Options auswählen:



... und im Reiter Interpreter MicroPython für den Pico auswählen:



Ein schnellerer Weg den Interpreter auszuwählen: rechts unten in Thonny auf Python 3.7.9 klicken.

Im unteren Teil von Thonny, der sogenannten Shell sollte sich jetzt der MicroPython Interpreter vom Pico melden (hier in der Version v1.18):



Ein einfacher Python Befehl zur Ausgabe von Text am Bildschirm ist print und kann für einen ersten Test benutzt werden:

print("Pico bereit")

Dieser Python Befehl gibt den in Anführungszeichen gesetzten Text aus:



Interessanter wird es die auf dem Pico vorhandene LED einzuschalten. Dazu sind lediglich drei Zeilen Code erforderlich:

import machine
led = machine.Pin(25, machine.Pin.OUT)
led.value(1)

Während der Befehl print fester Bestandteil der Programmiersprache Python ist, müssen Erweiterungen der Programmiersprache als Module mit dem Befehl import eingebunden werden. Für den Zugriff auf die LED (und alle GPIO Pins) wird das Modul machine benötigt. Die aufgelötete LED ist über den Pin 25 zu erreichen. In der zweiten Zeile wird der Pin 25 als Ausgang (OUT) definiert und dem Objekt led (Name beliebig) zugewiesen. In der dritten Zeile muss der Wert dieses Objektes nur noch auf 1 gesetzt werden.

Führt man das Script jetzt aus (entweder auf klicken oder die Funktionstaste F5 drücken), muss beim ersten Mal ausgewählt werden, wo der Code gespeichert werden soll:



Nach Auswahl von Raspberry Pi Pico muss nur noch ein Dateiname eingegeben werden (hier: LED.py):



Wird der Dateiname mit OK bestätigt, leuchtet die LED. Zum Ausschalten der LED im Code in der dritten Zeile die 1 durch 0 ersetzen und das Script wieder ausführen ( oder F5).

Zum Abschluss noch eine kleine Erweiterung: die LED soll blinken. Der Code dafür:

import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
    led.value(1)
    utime.sleep(1)
    led.value(0)
    utime.sleep(0.5)

Für die Zeit, die zwischen Ein- und Ausschalten gewartet werden soll, wird die Bibliothek utime benötigt (import utime). Das Blinken soll dauerhaft erfolgen. Dafür braucht man die Schleifenfunktion while. Im Gegensatz zu vielen anderen Programmiersprachen wird der Inhalt einer Schleife nicht in Klammern gesetzt oder mit einem Schlüsselwort beendet. Die Schleife beginnt mit while, der Schleifeninhalt wird mit Tabulator eingerückt. Der Wert in utime.sleep(1) entspricht der Wartezeit in Sekunden bis der Programmcode fortgesetzt wird. Zeiten kleiner als eine Sekunde müssen als Dezimalzahl eingegeben werden. Das Dezimaltrennzeichen ist der Punkt, nicht das Komma.

In diesem Beispiel wird die LED eingeschaltet led.value(1), dann wartet das Programm 1 Sekunde utime.sleep(1) bevor über led.value(0) die LED wieder ausgeschaltet wird. Nach einer Pause von einer halben Sekunde utime.sleep(0.5) beginnt die Schleife wieder von vorne. Zum Abbrechen des Programms auf das rote Stopschild klicken (oder Strg+F2).


Autostart

Feedback gerne an folgende E-Mail Adresse: pi@lasona.de