Ratgeber · 15 Min. Lesezeit

Raspberry Pi Pico im Unterricht: MicroPython in 6 Wochen

Raspberry Pi Pico im Unterricht mit MicroPython: 6 Wochen à 40 Minuten, kostenlose Projekte, Thonny-Einrichtung, Materialliste für 24 und eine Beispielstunde.

Du suchst einen Plan für den Raspberry Pi Pico im Unterricht? Die kurze Antwort: 6 Wochen, eine 40-minütige Stunde pro Woche, Zweiergruppen und pro Woche genau ein neues MicroPython-Konzept. In Woche 1 schalten die Schülerinnen und Schüler die Onboard-LED mit einer einzigen Zeile in der REPL von Thonny ein; danach folgen Variablen und Timing, Funktionen, Taster und Bedingungen, Ton und ein Abstandssensor mit PWM, und in der letzten Woche entsteht mit einer Liste und einer for-Schleife ein Klavier mit fünf Tasten. Das Projekt jeder Woche ist in BlueGrays mit Schaltplan, Bauteilliste und Code kostenlos, die Klasse braucht also kein Premium. Der Plan nutzt den Raspberry Pi Pico oder Pico W mit Thonny und richtet sich an Schülerinnen und Schüler der Sekundarstufe, die noch nie programmiert haben.

Zuerst geht es darum, warum Pico und MicroPython im Klassenzimmer so gut funktionieren, dann um die Vorbereitung vor der ersten Stunde: die MicroPython-UF2-Datei, den BOOTSEL-Taster, die Wahl des Interpreters in Thonny und worauf du an Schulrechnern achten solltest. Danach bekommst du den Wochenplan mit der Arduino-C++-Entsprechung jedes Konzepts, eine Materialliste für 24 Schülerinnen und Schüler, eine Beispielstunde im Minutentakt, drei kurze Codebeispiele, eine Bewertungstabelle und Lösungen für die häufigsten Probleme im Unterricht. Die 8-wöchige Version desselben Ansatzes mit Arduino und Blöcken findest du im Beitrag Blockprogrammierung im Unterricht; dieser Plan wiederholt ihn nicht, sondern ist für Klassen gedacht, die direkt mit textbasiertem Code starten oder nach den Blöcken zu Python wechseln wollen.

Raspberry Pi Pico WH mit eingelöteten Stiftleisten, Micro-USB-Buchse und dem weißen BOOTSEL-Taster daneben
Pico WH: Die Stiftleisten sind schon eingelötet, deshalb passt er direkt aufs Steckbrett. Der weiße Taster neben der USB-Buchse ist BOOTSEL; ihn brauchst du zum Installieren von MicroPython.

Warum Raspberry Pi Pico und MicroPython?

Der Pico ist ein kleines Mikrocontroller-Board, das Raspberry Pi um seinen eigenen RP2040-Chip gebaut hat. Er ist kein Computer, sondern führt wie ein Arduino ein einziges Programm immer wieder aus. Im Unterricht hat er drei Stärken. Die erste ist MicroPython, eine abgespeckte Python-Version für Mikrocontroller. Es ist gut lesbar und kommt ohne Semikolons und geschweifte Klammern aus; wer Python aus dem Informatikunterricht kennt, steuert mit derselben Sprache nun eine LED oder einen Summer. Die zweite: Es wird nicht kompiliert. Sobald du in Thonny auf Ausführen drückst, läuft der Code auf dem Board, und du wartest nicht nach jeder kleinen Änderung auf Kompilieren und Hochladen. In einer 40-Minuten-Stunde bedeutet das viel mehr Versuche in derselben Zeit. Die dritte ist die REPL: Tippe eine einzelne Zeile in die Shell von Thonny, drücke Enter, und das Board führt sie sofort aus. Wenn jemand led.on() tippt und die LED angeht, ist in fünf Minuten klar, dass Programmieren heißt, dem Board Befehle zu geben. Der niedrige Preis und die Tatsache, dass das Board direkt aufs Steckbrett passt, machen Zweiergruppen realistisch. Wann ist der Arduino die bequemere Wahl? Bei jüngeren Kindern, die gerade erst lesen gelernt haben, oder wenn dein Set vor allem aus 5-V-Modulen besteht, bringt ein Start mit Arduino und Blöcken weniger Überraschungen. Technische Daten und Pinbelegung findest du im Beitrag Was ist der Raspberry Pi Pico.

MerkmalRaspberry Pi Pico + MicroPythonArduino Uno + C++
Pinspannung3,3 V (nicht 5-V-tolerant)5 V
Sprache und EditorMicroPython, ThonnyC++, Arduino IDE
Code ausführenSofort per Ausführen, kein KompilierenNach jeder Änderung kompilieren und hochladen
Zeilenweise testen (REPL)Ja: >>> in der Thonny-ShellNein
Analoge Eingänge3 Pins (GP26–GP28), read_u16() 0–655356 Pins (A0–A5), analogRead() 0–1023
USB-BuchseMicro-USBUSB-B (Uno R3)
Auf dem SteckbrettPico H / WH mit Stiftleisten, direkt einsteckbarBoard liegt daneben, Verbindung über Kabel
PreisMeist deutlich günstiger als ein UnoTeurer
Die Pins des Pico arbeiten mit 3,3 V und sind nicht 5-V-tolerant. Schließt du einen Ausgang, der 5 V liefert, an einen GPIO-Pin an (zum Beispiel den ECHO-Pin eines mit 5 V versorgten HC-SR04), kann der Pin dauerhaft beschädigt werden; deshalb setzen wir in Woche 5 einen Spannungsteiler aus 1 kΩ und 2 kΩ in die ECHO-Leitung. Zeig der Klasse in der ersten Stunde die Pins VBUS (Pin 40, 5 V vom USB), VSYS (Pin 39) und 3V3(OUT) (Pin 36) und schreib die Regel an die Tafel: Taster und Sensorausgänge kommen nie an VBUS. Schließ eine LED immer über einen 220-Ω-Widerstand an; bei 3,3 V fließen durch eine rote LED etwa 6 mA. Die Pins könnt ihr gemeinsam im Pinout-Werkzeug suchen.

Vor der ersten Stunde: MicroPython und Thonny

  1. Board erkennen: Pico, Pico W, Pico 2 und Pico 2 W brauchen jeweils eine eigene MicroPython-Datei. Sieh dir die Beschriftung auf dem Board an und lade von der offiziellen MicroPython-Downloadseite die aktuelle .uf2-Datei für genau dieses Board. Mit der falschen Datei startet das Board nicht oder das WLAN funktioniert nicht.
  2. Mit gedrücktem BOOTSEL einstecken: Halte den weißen BOOTSEL-Taster neben der USB-Buchse gedrückt, während du das Kabel in den Rechner steckst, und lass ihn dann los. Am Rechner erscheint ein Laufwerk namens RPI-RP2 (beim Pico 2 heißt es RP2350).
  3. UF2-Datei kopieren: Zieh die .uf2-Datei auf dieses Laufwerk. Das Board startet nach wenigen Sekunden neu und das Laufwerk verschwindet; das ist kein Fehler, sondern zeigt, dass MicroPython installiert ist. MicroPython bleibt auf dem Board, du musst es nicht in jeder Stunde neu aufspielen.
  4. Interpreter in Thonny wählen: Wähle unter Tools > Options > Interpreter den Eintrag "MicroPython (Raspberry Pi Pico)" und lass den Port auf automatischer Erkennung. Dieselbe Auswahl erreichst du auch mit einem Klick unten rechts im Thonny-Fenster.
  5. Verbindung testen: In der Shell unten sollte das Zeichen >>> stehen. Tippe print("hallo") und drück Enter; kommt eine Antwort, ist das Board bereit für den Unterricht.

Verschieb die Installation auf den Schulrechnern nicht in die Stunde, sondern sprich eine Woche vorher mit der IT-Betreuung. Thonny läuft unter Windows, macOS und Linux und bringt sein eigenes Python mit, du musst Python also nicht separat installieren. Für Windows gibt es außerdem eine portable Version, die gar keine Installation braucht; in abgesicherten Computerräumen, in denen nur die IT Programme installieren darf, macht sie vieles einfacher. Windows 10 und 11 erkennen den Pico ohne zusätzlichen Treiber als seriellen Port (COM). Manche Schulen sperren USB-Speicher; dann taucht das Laufwerk RPI-RP2 an den Schülerrechnern womöglich nicht auf. Hast du MicroPython aber vorher an deinem eigenen Rechner aufgespielt, spielt das keine Rolle, weil im Unterricht nur die serielle Verbindung genutzt wird. Zeig der Klasse zum Schluss die beiden Optionen im Speichern-Dialog von Thonny: "This computer" speichert die Datei auf dem Rechner, "Raspberry Pi Pico" auf dem Board. Gruppen, die nicht wissen, was sie gewählt haben, finden ihren Code in Woche 6 nicht wieder.

Damit die Einrichtung in einem Rutsch erledigt ist, spiel MicroPython vor Kursbeginn selbst auf alle Boards, nummeriere Boards und Kabel von 1 bis 13 und sorg dafür, dass jede Gruppe jede Woche dieselbe Nummer bekommt. Der Link "Install or update MicroPython" im Interpreter-Fenster von Thonny findet ein Board im BOOTSEL-Modus und fragt nach der passenden Variante, so geht es auch ohne eigenen UF2-Download. Siehst du beim Testen eines Boards >>> in der Shell, ist dieses Paar aus Board und Kabel startklar.

Der 6-Wochen-Plan für den Raspberry Pi Pico im Unterricht

Jede Stunde ist für 40 Minuten und Zweiergruppen geplant. Alle Projekte in der Tabelle sind in BlueGrays kostenlos, und die Projekte der ersten drei Wochen haben neben dem Code auch eine Blockansicht. Die Reihenfolge ist bewusst gewählt: zuerst Ausgabe (LED), dann Variablen und Timing, Funktionen, danach Eingabe und Bedingungen, Ton und Sensor mit PWM und zum Schluss Listen und Schleifen. Jede Woche fügt genau eine neue Idee hinzu. Die letzte Spalte zeigt dasselbe Konzept in Arduino C++ und baut so eine Brücke für alle, die später zum Arduino wechseln; die C++-Seite im Detail findest du in den Arduino-Programmiergrundlagen.

WocheZielKostenloses BlueGrays-ProjektNeues MicroPython-KonzeptEntsprechung in Arduino C++
1Den Pico kennenlernen, erstes Programm, digitaler AusgangRaspberry Pi Pico Onboard-LED Blinken (Pico und Pico W), Raspberry Pi Pico: Externe LED zum Leuchten bringen (GP14 + Steckbrett)REPL (>>>), from machine import Pin, Pin(14, Pin.OUT), led.on() / led.off(), time.sleep(0.5), while True:, EinrückungpinMode(14, OUTPUT); digitalWrite(14, HIGH); delay(500); void loop()
2Variablen, Timing, zwei AusgängeRaspberry Pi Pico Zwei LEDs abwechselnd blinken (Blink-Flip, GP14 + GP13), Raspberry Pi Pico Polizeilicht-Effekt (Rot + Blau Strobe, GP11 + GP12)WAIT_MS = 300 (Variable), led.value(1), led.toggle(), sleep_ms(300)int waitMs = 300; digitalWrite(13, !digitalRead(13)); delay(waitMs);
3Weniger Wiederholung: FunktionenRaspberry Pi Pico Ampel-Simulator (3 LEDs sequenziell, GP11/GP12/GP13)def all_off():, eine Funktion aufrufen, Dezimalsekunden mit sleep(1.5)void allOff() { … } ; delay(1500);
4Eingabe, Bedingungen und ZustandRaspberry Pi Pico-Ampel mit 4-Modus-Tastenwahlschalter (Zustandsmaschine, GP11-13 + GP4)Pin(4, Pin.IN, Pin.PULL_UP), if / elif / else, mode = (mode + 1) % 4, time.ticks_ms()pinMode(4, INPUT_PULLUP); if / else if / else; millis()
5Sensor und TonRaspberry Pi Pico Einparkhilfe (HC-SR04 + 3 LEDs + Summer)PWM(Pin(17)), freq(), duty_u16(), time_pulse_us(), def … returntone(17, 1200); pulseIn(); return
6Listen, for-Schleife, AbschlussprojektRaspberry Pi Pico Tasten-Klavier (5 Taster + Summer + Melodie-Rekorder)NOTE_HZ = (523, 587, 659, 698, 784), for … in, fünf Taster mit demselben Codeint notes[] = {523, 587, 659, 698, 784}; for (int i = 0; i < 5; i++)
Deutsche Blöcke des Projekts Raspberry Pi Pico Ampel: Funktion all_off, GP11, GP12 und GP13 als Ausgänge, Schreib- und Sekunden-warten-Blöcke in der Endlosschleife
Woche 3: Ampel. Der Funktionsblock all_off schaltet alle drei LEDs aus und wird in der Schleife dreimal aufgerufen; die Warteblöcke mit 4, 1,5, 3 und 1 Sekunde entsprechen eins zu eins den sleep()-Zeilen im Code.

Mach es beim Umsetzen zur Regel, dass am Ende jeder Woche genau ein Wert geändert wird. In Woche 1 ruft das Onboard-LED-Projekt die LED über den Namen "LED" auf und läuft deshalb auf Pico und Pico W gleich; die externe LED kommt an GP14, also an den physischen Pin 19, und Pin 18 direkt daneben ist GND. In Woche 2 zeigt das Senken von WAIT_MS im Polizeilicht-Effekt von 300 auf 80, dass eine einzige Variable den Rhythmus beider LEDs zugleich ändert. In Woche 3 ruft die Ampel all_off() dreimal in der Schleife auf; lass die Klasse die Funktion löschen und dasselbe von Hand schreiben. Wenn sich neun Zeilen ansammeln, sagen dir die Jugendlichen selbst, wozu Funktionen da sind. Woche 4 ist ein Projekt der mittleren Stufe: Der Taster ist mit PULL_UP angeschlossen, liefert beim Drücken also 0, und jeder Druck schaltet den Modus weiter zwischen normal, nur rot, gelbes Blinken und aus. Der Code ist lang, lest ihn deshalb zuerst mit den Schritten im Tab Code verstehen. In Woche 5 läuft der HC-SR04 mit 5 V, vergiss also den Spannungsteiler an ECHO nicht; das Spielen mit den Werten GREEN_CM 100, YELLOW_CM 50, RED_CM 25 und STOP_CM 10 vermittelt die Idee eines Schwellenwerts. Wie der Sensor funktioniert, steht im Beitrag zum HC-SR04-Abstandssensor, wie man mit PWM Töne erzeugt, unter Was ist ein Summer; nimm einen passiven Summer, weil das Projekt die Frequenz ändert. In Woche 6 spielt das Klavier fünf Töne von DO bis SOL zwischen 523 und 784 Hz, und wer die DO-Taste eine Sekunde gedrückt hält, startet eine Melodieaufnahme. Der vollständige Code ist für dieses Niveau lang; lass ihn nicht abtippen, sondern die Frequenzen in der Liste NOTE_HZ ändern, damit jede Gruppe ihre eigene Tonleiter baut.

Abschlussfragen für jede Woche

  • Woche 1: Was passiert, wenn du die Zeilen led.on() und time.sleep(0.5) vertauschst? Warum beginnen die Zeilen unter while True: weiter rechts?
  • Woche 2: Wie verändert sich das Blinklicht, wenn du WAIT_MS von 300 auf 1000 erhöhst? Welche zwei Zeilen ersetzt toggle() allein?
  • Woche 3: Wie viele Zeilen mehr müsstest du ohne die Funktion all_off() schreiben? Was ist der Unterschied zwischen dem Definieren und dem Aufrufen einer Funktion?
  • Woche 4: Warum liefert button.value() beim Drücken eines Tasters mit PULL_UP den Wert 0? Wenn mode 3 ist und du drückst, welchen Wert hat mode dann?
  • Woche 5: Warum schließen wir den ECHO-Pin des HC-SR04 nicht direkt an den Pico an? Was bewirkt die Zeile duty_u16(0) beim Summer?
  • Woche 6: Welche Listen im Code musst du ändern, um dem Klavier eine sechste Taste zu geben?

Materialliste für eine Klasse mit 24 Personen

Teilst du 24 Schülerinnen und Schüler in Zweiergruppen, ergeben sich 12 Gruppen; mit einem Ersatzset bereitest du 13 Sets vor. Weil der Pico günstig ist, sind Zweier- statt Dreiergruppen an den meisten Schulen machbar, und jede Person sitzt länger an der Tastatur; bei Dreiergruppen reichen 9 Sets. Jede Gruppe braucht einen Rechner, denn Thonny spricht über USB mit dem Pico. Ein Smartphone oder Tablet dient dazu, das Wochenprojekt, den Schaltplan und den Tab Code verstehen in BlueGrays offen zu halten. Gelötet wird nichts, alles steckt im Steckbrett.

MaterialPro GruppeFür die Klasse (12 Gruppen + 1 Ersatz)Woche
Raspberry Pi Pico H oder Pico WH (Stiftleisten eingelötet)113Alle
Micro-USB-Datenkabel113Alle
Steckbrett (400 oder 830 Kontakte)113Alle
Steckbrücken Stecker-Stecker20etwa 260Alle
5-mm-LEDs (rot, gelb, grün, blau)4etwa 601–5
Widerstand 220 Ω4etwa 601–5
Taster (4 Beinchen)5etwa 704, 6
Passiver Summer1135, 6
HC-SR04-Ultraschall-Abstandssensor1135
Widerstände 1 kΩ und 2 kΩ (ECHO-Teiler)1 + 113 + 135
Rechner mit Thonny112Alle
Potentiometer 10 kΩ (optional, für ADC)113Schnelle Gruppen
Kauf am besten den Pico H, den Pico WH oder eine Version mit bereits eingelöteten Stiftleisten. Ein Pico ohne Leisten passt nicht ins Steckbrett, und 40 Pins an 13 Boards zu löten kostet ein Wochenende; willst du das Löten bewusst in den Kurs einbauen, sieh dir Löten lernen an. Achte darauf, dass die Kabel Datenkabel sind: Billige Micro-USB-Ladekabel versorgen das Board mit Strom, aber der Rechner sieht den Pico nie, und genau das frisst in der ersten Stunde die meiste Zeit. Sortiere die Widerstände nach Wert in getrennte Kästchen; die Farbringe könnt ihr mit dem Widerstands-Farbcode-Rechner und den passenden Wert für eine LED mit dem LED-Vorwiderstandsrechner gemeinsam prüfen.

Beispielstunde: Woche 1, das erste Programm

Der folgende Ablauf ist für Woche 1. Die erste Stunde ist die riskanteste, weil hier die Einrichtungsprobleme auftauchen. Wir gehen davon aus, dass MicroPython schon auf den Boards ist und Thonny auf den Rechnern installiert ist. Dasselbe Gerüst kannst du in den anderen Wochen nutzen: Einstieg, gemeinsames Lesen, Vorhersage, Schaltung, Ausführen, einen Wert ändern und Abschlussfrage. Hast du eine Doppelstunde mit 80 Minuten, verlängere die Phase "einen Wert ändern" und lass die Gruppen ihre Antworten auf die Abschlussfrage vorstellen.

ZeitPhaseWas passiert?
0–5 Min.EinstiegFrage: Was muss man einem Board sagen, damit es "die LED einschaltet"? Die Antworten kommen an die Tafel. Die Boards werden ausgeteilt, BOOTSEL-Taster und USB-Buchse werden gezeigt.
5–12 Min.Erster Befehl in der REPLThonny-Shell am Beamer: from machine import Pin, led = Pin("LED", Pin.OUT), led.on(). Die Gruppen tippen dieselben drei Zeilen am eigenen Rechner und schalten dann mit led.off() aus.
12–18 Min.Projekt gemeinsam lesenIn BlueGrays das Projekt Onboard-LED Blinken öffnen. Erst mit eingeschaltetem Als Blöcke zeigen die Blöcke lesen, dann den Code; über while True und Einrückung sprechen.
18–22 Min.AusführenCode in Thonny einfügen und Ausführen (F5) drücken. Die LED blinkt alle 0,5 Sekunden. Die Stop-Schaltfläche zum Anhalten zeigen.
22–32 Min.Schaltung mit externer LEDUSB abziehen. GP14 (Pin 19) → 220 Ω → langes Bein der LED, kurzes Bein → GND (Pin 18). Den Code des Projekts mit externer LED ausführen. Rollen: Aufbau und Kontrolle.
32–37 Min.Einen Wert änderntime.sleep(0.5) erst auf 0.1, dann auf 2 setzen. Wer möchte, setzt die LED auf GP15 um und ändert im Code 14 in 15.
37–40 Min.AbschlussfrageEine Frage auf Papier: Was würde passieren, wenn die Zeilen unter while True: nicht eingerückt wären? Boards abziehen und in ihre nummerierten Kästchen legen.

Drei kurze MicroPython-Beispiele für den Unterricht

Bei der Onboard-LED gibt es zwischen Pico und Pico W die meiste Verwirrung. Beim klassischen Pico hängt die LED an GP25, deshalb steht in älteren Beispielen Pin(25). Beim Pico W hängt sie am WLAN-Chip und hat keinen nummerierten GP-Pin, dort leuchtet sie mit Pin(25) also nicht. Was auf beiden funktioniert, ist der Name: Pin("LED"). Aktuelle MicroPython-Versionen kennen diesen Namen für Pico, Pico W und Pico 2, und genau deshalb nutzt ihn auch das Onboard-LED-Projekt in BlueGrays. Hast du gemischte Boards in der Klasse, kannst du allen denselben Code geben. Kennt eine alte Firmware den Namen "LED" nicht, hilft ein Update der UF2-Datei.

MicroPython
1from machine import Pin
2import time
3
4# "LED" adı Pico, Pico W ve Pico 2'de karttaki LED'i bulur / The name "LED" finds the onboard LED on Pico, Pico W and Pico 2
5led = Pin("LED", Pin.OUT)
6# Eski firmware'li klasik Pico'da: Pin(25, Pin.OUT) / Classic Pico with old firmware: Pin(25, Pin.OUT)
7# Pico W'de Pin(25) LED'i yakmaz / On the Pico W, Pin(25) does not light the LED
8
9while True:
10    led.toggle()       # Durumu tersine çevir / Flip the state
11    time.sleep(0.5)    # 0,5 saniye bekle / Wait 0.5 seconds
12

Der Code für die externe LED nutzt dasselbe Gerüst, nur die Pinnummer ändert sich. Hier steht die Wartezeit in einer Variablen namens WAIT; das ist die erste Zeile, die in Woche 2 geändert wird. Die Variable count und die Zeile print() schreiben bei jedem Aufleuchten eine Zahl in die Shell von Thonny, so sieht die Klasse am Bildschirm, dass die Schleife wirklich läuft. Die 14 im Code ist eine GP-Nummer, keine physische Pinnummer; genau das verwechseln Schülerinnen und Schüler am häufigsten.

MicroPython
1from machine import Pin
2import time
3
4LED_PIN = 14          # LED'in bağlı olduğu GP pini (fiziksel pin 19) / GP pin the LED is wired to (physical pin 19)
5WAIT = 0.5            # Bekleme süresi, saniye / Wait time in seconds
6
7led = Pin(LED_PIN, Pin.OUT)   # Pini çıkış yap / Make the pin an output
8count = 0                     # Kaç kez yandığını say / Count how many times it lit
9
10while True:
11    led.on()                  # LED'i yak / Turn the LED on
12    count = count + 1
13    print("LED", count)       # Thonny Shell'e yaz / Print to the Thonny Shell
14    time.sleep(WAIT)
15    led.off()                 # LED'i söndür / Turn the LED off
16    time.sleep(WAIT)
17

Für einen Taster gibt es zwei Schaltungen, und beide lohnen sich. Mit PULL_UP geht ein Beinchen des Tasters an GP15 und das gegenüberliegende an GND; ein Widerstand im Pico zieht den Pin auf 3,3 V, beim Drücken wird er mit GND verbunden und liefert 0. Alle Pico-Tasterprojekte in BlueGrays nutzen diesen Weg, weil kein zusätzliches Kabel nötig ist. Mit PULL_DOWN geht das gegenüberliegende Beinchen an den Pin 3V3(OUT) (Pin 36) und der Taster liefert beim Drücken 1; die Logik wirkt natürlicher, aber das Kabel landet leicht versehentlich an VBUS (Pin 40, 5 V). Welche der vier Beinchen eines Tasters miteinander verbunden sind, erklären wir im Beitrag zum Taster-Anschluss. Starte Woche 4 mit dem kurzen Code unten und geh dann zum Moduswähler über.

MicroPython
1from machine import Pin
2import time
3
4led = Pin(14, Pin.OUT)                  # GP14 -> 220 ohm -> LED -> GND / GP14 -> 220 ohm -> LED -> GND
5button = Pin(15, Pin.IN, Pin.PULL_UP)   # Buton GP15 ile GND arasında / Button between GP15 and GND
6# PULL_DOWN: Pin(15, Pin.IN, Pin.PULL_DOWN), buton GP15 ile 3V3(OUT) arasında / button between GP15 and 3V3(OUT)
7# PULL_DOWN ile koşul == 1 olur / With PULL_DOWN the condition becomes == 1
8
9while True:
10    if button.value() == 0:             # PULL_UP: basınca 0 okunur / PULL_UP: reads 0 when pressed
11        led.on()
12    else:
13        led.off()
14    time.sleep_ms(10)                   # Döngüyü biraz yavaşlat / Slow the loop down a little
15

So nutzt du BlueGrays im Pico-Unterricht

  • Code-Guide, MicroPython-Lernpfad: Der Code-Guide im Bereich Lernen bietet neben dem Arduino-C++-Pfad einen MicroPython-Pfad mit 18 Karten: import, print, Pin-Ausgang, Pin-Eingang (PULL_UP, PULL_DOWN), time.sleep, while True, Einrückung, Variablen, if / elif / else, for und range, Listen, def und return, ADC, PWM, ticks_ms, Pin.irq, try / except und I2C. Jede Karte hat Wofür ist das gut?, Syntax, ein Beispiel mit den Tabs Blöcke · Arduino · MicroPython, Häufiger Fehler und einen Minitest. Empfiehl die Karten zum Wochenkonzept zum Lesen zwischen den Stunden; den eigenen Fortschritt MicroPython x/18 sieht jede Person im Bildschirm Mein Level.
  • In Projekten ansehen: Dieser Link am Ende jeder Karte listet die Projekte, in deren Code der Befehl vorkommt, von leicht bis schwer. Wer einen Befehl auf der Karte gelesen hat, findet ihn von hier aus im Code eines echten Projekts.
  • Fragen des Tages: Die Einstellung "Programmiersprache der Fragen" bietet Beide, Arduino und MicroPython. Unterrichtest du mit dem Pico, lass die Klasse MicroPython wählen; allgemeine Fragen ohne Code kommen bei jeder Auswahl. Täglich gibt es eine Runde von etwa 3 Minuten, einen Einstufungstest mit 15 Fragen und 6 Level von A1 bis C2, eine gute tägliche Wiederholung zwischen den Stunden.
  • Als Blöcke zeigen: Fünf der kostenlosen Pico-Projekte (Onboard-LED, externe LED, zwei LEDs abwechselnd, Ampel und Polizeilicht) haben neben dem Code eine Blockansicht. Wer Python zum ersten Mal sieht, bekommt zuerst die Blöcke und dann den Code desselben Programms gezeigt; so entsteht die Idee "gleiche Logik, andere Schreibweise". Diesen Schritt beschreiben wir ausführlich in von Blöcken zu MicroPython. Die Blöcke dienen zum Lesen; in der App lassen sie sich nicht bearbeiten, und aufs Board kommt immer der MicroPython-Code.
  • Code verstehen und Fehlerbehebung: Jedes kostenlose Pico-Projekt hat beides. Der Tab Code verstehen beginnt mit der Zusammenfassung Was macht dieser Code?, geht mit der Erklärung Schritt für Schritt weiter und endet mit Wenn du nicht weiterkommst und der Aufgabe Probier es selbst. Beim langen Code in Woche 4 und 6 ist er deine größte Hilfe für Gruppen, die noch nicht schnell lesen.
  • Lass es uns zusammen bauen und Link kopieren: Der geführte Modus läuft in vier Schritten und erinnert beim Code-Schritt daran, in Thonny den MicroPython-Interpreter zu wählen. Link kopieren beim Quellcode liefert einen Link, um den Code am Rechner zu öffnen, so muss niemand den Code vom Handy in Thonny abtippen.

Bewertung und Differenzierung

Kriterium1 – Beginnend2 – Fortschreitend3 – Sicher
Schaltung aufbauenBaut mit Hilfe, vergisst GNDBaut nach Schaltplan, ordnet die GP-Nummer dem Code zuUnterscheidet physische Pins und GP-Nummern, findet Fehler bei anderen
Code lesenLiest die Zeilen, kann nicht erklären, was sie tunErklärt grob, was das Programm machtErklärt jede Zeile und die Bedeutung der Einrückung
Ändern und testenÄndert einen Wert, kann die Wirkung nicht erklärenSagt das Ergebnis vorher und probiert es ausFindet bei falscher Vorhersage die Ursache über die Fehlermeldung in der Shell
Zuordnung zu C++Kann nicht zuordnenOrdnet Pin, sleep und while True zuOrdnet auch if, for und Funktionen zu
  • Schnelle Gruppen, analog lesen: Im Plan gibt es keine ADC-Woche; wer früher fertig ist, schließt den Schleifer eines 10-kΩ-Potentiometers an GP26 an, liest mit ADC(26).read_u16() einen Wert zwischen 0 und 65535 und stellt damit die Geschwindigkeit des Blinklichts aus Woche 2 ein. Für eine größere Herausforderung steuert das kostenlose Projekt Raspberry Pi Pico LED-Lagerfeuer (8x8-NeoPixel-Matrix + Potentiometer + Summer) mit demselben Potentiometer eine 8x8-NeoPixel-Matrix.
  • Schnelle Gruppen, kombinieren: Den Taster aus Woche 4 an die Einparkhilfe aus Woche 5 anzubauen und einen "Stumm-Modus" zu schreiben, der den Ton ein- und ausschaltet, ist der erste echte Schritt zum eigenen Code.
  • Langsamere Gruppen: Gib die Schaltung fertig aufgebaut aus oder leg den Schaltplan groß ausgedruckt auf den Tisch. Lass sie mit dem Tab Code verstehen Schritt für Schritt vorgehen und an diesem Tag nur einen Wert ändern; das ist für sich schon ein lohnendes Ergebnis.

Häufige Probleme und schnelle Lösungen

ProblemMögliche UrsacheLösung
Der Rechner erkennt den Pico überhaupt nichtReines Ladekabel, Wackelkontakt, USB-HubEin bekanntes Datenkabel probieren, das Board direkt am Rechner einstecken, anderen USB-Port testen.
Bei jedem Einstecken öffnet sich das Laufwerk RPI-RP2Kein MicroPython auf dem Board oder BOOTSEL klemmtUF2-Datei aufs Laufwerk kopieren; ohne Tastendruck neu einstecken.
RPI-RP2 erscheint nieBOOTSEL wurde erst nach dem Einstecken gedrücktKabel abziehen, BOOTSEL gedrückt halten, wieder einstecken, dann loslassen.
Thonny verbindet nicht, "Device is busy" oder PortfehlerFalscher Interpreter oder Port, Port in anderem Programm offen, laufender Code blockiertUnten rechts "MicroPython (Raspberry Pi Pico)" wählen, Stop/Restart drücken, zweites Thonny-Fenster schließen, USB ab- und wieder anstecken.
No module named 'machine'Der Code läuft im Python des RechnersInterpreter auf MicroPython (Raspberry Pi Pico) stellen.
IndentationError oder SyntaxErrorGemischte Einrückung, fehlender DoppelpunktZur Zeilennummer der Meldung gehen; while-, if- und def-Zeilen brauchen am Ende einen Doppelpunkt, die Zeilen darunter 4 Leerzeichen.
Der Code läuft, aber die LED bleibt dunkelLED verkehrt herum, kein GND, GP-Nummer im Code passt nicht zur Schaltung, Pin(25) am Pico WLanges Bein Richtung Widerstand (GP-Seite), GND-Kabel prüfen, für die Onboard-LED Pin("LED") nutzen.
Ohne Rechner läuft der Code nichtDatei auf dem Rechner gespeichert oder nicht main.py genanntIn Thonny Speichern > Raspberry Pi Pico wählen und main.py nennen; der Code startet dann bei jeder Stromversorgung von selbst.
main.py hängt in einer Endlosschleife, Thonny kommt nicht dazwischenDer Code startet sofort beim BootenMehrmals Stop drücken oder Ctrl+C in der Shell; hilft das nicht, mit der offiziellen flash_nuke.uf2 den Speicher löschen und MicroPython neu aufspielen (alle Dateien auf dem Board gehen verloren).

Checkliste vor der Stunde

  • MicroPython ist auf allen Boards, Boards und Kabel sind von 1 bis 13 nummeriert.
  • Thonny startet auf jedem Rechner, als Interpreter ist "MicroPython (Raspberry Pi Pico)" gewählt.
  • Jedes Paar aus Board und Kabel ist getestet und zeigt >>> in der Shell.
  • Die Widerstände liegen nach Wert getrennt: 220 Ω, 1 kΩ, 2 kΩ.
  • Das Wochenprojekt ist in BlueGrays am Beamer geöffnet; in den ersten drei Wochen ist Als Blöcke zeigen bereit.
  • Die Zettel mit der Abschlussfrage sind gedruckt, die Rollen (Aufbau, Kontrolle) sind verteilt.
  • Vor Woche 5 liegen die Teilerwiderstände für den HC-SR04 für jede Gruppe bereit.
  • Am Ende der Stunde sind alle USB-Kabel abgezogen und die Teile gezählt in den nummerierten Kästchen.

Alle Projekte dieser sechs Wochen kannst du in der BlueGrays-App kostenlos mit Schaltplan, Bauteilliste, MicroPython-Code und dem Tab Code verstehen öffnen; so führst du die Stunde bequem über den Beamer, während die Klasse auf den eigenen Smartphones mitliest. Möchtest du nach sechs Wochen mit Premium-Projekten für den Pico weitermachen, etwa mit LED-Helligkeit per PWM, Servo, OLED-Display oder Tastenfeld, kannst du statt einzelner Abos Lehrer-Codes verteilen; sie werden einmalig gekauft und verlängern sich nicht automatisch.

Häufige Fragen

Wie unterrichte ich mit dem Raspberry Pi Pico?

Pack in jede Stunde genau ein neues Konzept und ordne sie als Ausgabe, Variablen, Funktionen, Eingabe und Bedingungen, PWM und Sensoren und zum Schluss Listen und Schleifen. Jede Stunde folgt demselben Gerüst: Einstieg, gemeinsames Lesen, Vorhersage, Schaltung, Ausführen, einen Wert ändern und Abschlussfrage. Der 6-Wochen-Plan in diesem Beitrag ist genau so mit kostenlosen Projekten aufgebaut.

Wie installiere ich MicroPython auf dem Raspberry Pi Pico?

Halte den BOOTSEL-Taster gedrückt, während du den Pico per USB an den Rechner steckst; es erscheint ein Laufwerk namens RPI-RP2. Kopiere die MicroPython-.uf2-Datei für dein Board darauf, dann startet das Board neu. Alternativ installierst du es über "Install or update MicroPython" in den Interpreter-Einstellungen von Thonny.

Thonny erkennt meinen Raspberry Pi Pico nicht. Was tun?

Prüfe zuerst, ob dein USB-Kabel Daten überträgt, denn über ein reines Ladekabel sieht der Rechner das Board nicht. Stell dann in Thonny den Interpreter auf "MicroPython (Raspberry Pi Pico)" und drück Stop/Restart. Öffnet sich bei jedem Einstecken das Laufwerk RPI-RP2, ist noch kein MicroPython auf dem Board, dann installiere die UF2-Datei.

Raspberry Pi Pico oder Arduino für die Schule?

Beide sind ein guter Einstieg; die Wahl hängt von Sprache und Klasse ab. Unterrichtest du Python oder willst du schnell ausprobieren, ohne aufs Kompilieren zu warten, ist der Pico mit MicroPython angenehm. Bei jüngeren Kindern, beim Start mit Blöcken oder wenn dein Set aus 5-V-Modulen besteht, bringt der Arduino weniger Überraschungen.

Wie läuft Code auf dem Pico ohne Computer?

Speichere den Code in Thonny über die Option "Raspberry Pi Pico" unter dem Namen main.py auf dem Board. Der Pico führt main.py bei jeder Stromversorgung selbst aus, ein USB-Ladegerät oder eine Powerbank reicht. Zum Anhalten verbindest du das Board wieder mit Thonny und drückst Stop.

Gibt es im Unterricht einen Unterschied zwischen Pico und Pico W?

Alle Projekte in diesem Plan laufen auf beiden mit denselben Pins; der einzige Unterschied ist die Onboard-LED. Beim klassischen Pico hängt sie an GP25, beim Pico W am WLAN-Chip, deshalb nutzt du Pin("LED"), das auf beiden funktioniert. Der Pico W hat zusätzlich WLAN und Bluetooth, die du in den ersten sechs Wochen aber nicht brauchst.

Alle Projekte ansehen
Raspberry Pi Pico Onboard-LED Blinken (Pico und Pico W)
#147Anfänger

Raspberry Pi Pico Onboard-LED Blinken (Pico und Pico W)

Das Eröffnungsprojekt der Raspberry Pi Pico-Serie! Wir bringen die grüne interne LED zum Blinken, um zu überprüfen, ob die Platine funktioniert — ein klassisches "Hello World"-Erstexperiment. Keine externen Komponenten, nur Pico und USB-Kabel. Der Code ist in MicroPython geschrieben (die offiziell von der Raspberry Pi Foundation unterstützte Sprache). Lerne die machine.Pin-Klasse, Pin.OUT-Modus, led.on()/off()-Methoden und time.sleep() in Thonny IDE. Verfolge jede Umsch

5.0(1)
10
Raspberry Pi Pico: Externe LED zum Leuchten bringen (Steckbrett)
#148Anfänger

Raspberry Pi Pico: Externe LED zum Leuchten bringen (Steckbrett)

Der nächste Schritt nach der integrierten LED des Pico: Eine externe LED an das Breadboard anschließen und über den GP14-Pin steuern. In diesem Projekt lernst du, wie du einen beliebigen universellen GPIO-Pin des Pico als Ausgang nutzen kannst, welche Polarität die LED hat (langes Bein = Anode/+, kurzes Bein = Kathode/–) und warum ein Strombegrenzungswiderstand (220 Ω) erforderlich ist. Wenn du den Widerstand weglässt, fließt zu viel Strom durch die LED und sie kann durchbrennen. Die Schaltung i

4.5(2)
7
Raspberry Pi Pico Zwei LEDs abwechselnd blinken (Blink-Flip)
#149Anfänger

Raspberry Pi Pico Zwei LEDs abwechselnd blinken (Blink-Flip)

Der nächste Schritt nach einer einzelnen LED auf dem Pico: zwei LEDs blinken abwechselnd in einem klassischen Flip-Flop-Muster. Wenn eine ausgeht, leuchtet die andere. Zwei verschiedenfarbige LEDs (rot an GP14, grün an GP13) wechseln alle 500ms den Zustand. MicroPythons Pin.toggle() macht den Code kurz. Grundlage von Ampeln, Polizeistroben, Lauflichtern.

5.0(2)
19
Raspberry Pi Pico Ampel-Simulator (3 LEDs sequenziell)
#150Anfänger

Raspberry Pi Pico Ampel-Simulator (3 LEDs sequenziell)

Wir simulieren eine echte Ampel mit roten, gelben und grünen LEDs. Grün 4 Sek "gehen", gelb 1,5 Sek "bereit", rot 3 Sek "stopp" und rot+gelb 1 Sek "starten" (europäisches Ampelmuster). Lerne Funktionsdefinition, Zustandsmaschinen-Logik und Multi-GPIO-Synchronisation. Sehr einfache Schaltung: 3 LEDs an GP11/GP12/GP13, jeweils mit 220Ω Widerstand.

4.0(1)
12
Raspberry Pi Pico Polizeilicht-Effekt (Rot + Blau Strobe)
#151Anfänger

Raspberry Pi Pico Polizeilicht-Effekt (Rot + Blau Strobe)

Wir simulieren das Blaulicht eines Polizeiautos mit einem Raspberry Pi Pico in seiner einfachsten Form! Die rote und die blaue LED leuchten abwechselnd (Flip-Flop): Leuchtet Rot, ist Blau aus, alle 0,3 Sekunden tauschen sie, endlos. Der Code schreibt die zwei Schritte direkt in eine einzige while True-Schleife; die Geschwindigkeit legt die Konstante WAIT_MS fest.

4.7(3)
10
Raspberry Pi Pico-Ampel mit 4-Modus-Tastenwahlschalter (Zustandsmaschine)
#158Mittel

Raspberry Pi Pico-Ampel mit 4-Modus-Tastenwahlschalter (Zustandsmaschine)

4 verschiedene Modi für die Ampel mit nur einer Taste! Mit jedem Tastendruck wechselt der Modus: Normaler Zyklus (nacheinander rot → gelb → grün), Nur Rot (Haltebefehl), Gelb blinkend (Achtung/Nachtmodus), Aus (Wartung). Lerninhalte: Zustandsmaschine (die Variable mode bestimmt, welches Verhalten ausgeführt wird), Modulo-Modus-Zyklus ((mode + 1) % 4 → 0→1→2→3→0 – endloser Zyklus), non-blocking timing (die LED-Phasen werden mit time.ticks_ms() + time.ticks_diff(

5.0(1)
15
Raspberry Pi Pico Taster-gesteuerte LED (Push)
#155Anfänger
Premium

Raspberry Pi Pico Taster-gesteuerte LED (Push)

Erstes Eingabe-Projekt mit Pico — Taster lesen! LED leuchtet solange der Taster gedrückt ist. Lerne Pin.IN, Pin.PULL_UP und button.value(). GP14 LED, GP2 Taster mit internem PULL_UP. Gedrückt = 0, losgelassen = 1 — Standard.

0.0(0)
11
Raspberry Pi Pico PWM LED Fade (Atem-Effekt)
#160Anfänger

Raspberry Pi Pico PWM LED Fade (Atem-Effekt)

Die LED blinkt nicht mehr nur — sie atmet! Mit der PWM (Pulsweitenmodulation) des Raspberry Pi Pico steigt die Helligkeit langsam an und fällt wieder ab. Lerne die machine.PWM-Klasse, duty_u16() (16-Bit-Helligkeit 0–65535), PWM-Frequenz, range()-Schleifen und analogähnliche Ausgabe. Grundlage für RGB-Farbmischung, Motorsteuerung, Servos und Buzzer.

0.0(0)
4