In diesem kurzen Tutorial lernst du, wie man mit dem Raspberry Pi Pico und MicroPython eine LED blinken lässt – das klassische „Hello World“ der Mikrocontroller-Welt.
¶ Hinweis zur Spannung
Der Raspberry Pi Pico arbeitet mit 3,3 Volt an den GPIO-Pins.
Das bedeutet:Keine 5 V-kompatiblen Bauteile direkt anschließen!
Eine Standard-LED mit 220 Ω Vorwiderstand funktioniert trotzdem gut – sie leuchtet vielleicht etwas dunkler als bei 5 V, aber dafür sicher.
Wichtig: Der Vorwiderstand ist nicht optional! Ohne ihn geht die LED (oder dein Pico) ganz schnell kaputt.
Die LED wird – genau wie beim Arduino – mit einem Vorwiderstand an einen digitalen GPIO-Pin angeschlossen. Wir verwenden hier GPIO 2, für eine externe LED.
Möchtest du lieber eine interne LED anschließen? Kein Problem: Wähle einfach z. B. GPIO 25.
Anschluss bei externer LED:
Anode (langes Bein) → Widerstand → GPIO (z. B. GP2)
Kathode (kurzes Bein) → GND
from machine import Pin
import time
led = Pin(2, Pin.OUT) # interne LED (GP2)
while True:
led.value(1) # LED an
time.sleep(1) # 1 Sekunde warten
led.value(0) # LED aus
time.sleep(1)
Du willst die interne LED verwenden? Kein Problem!
Ersetze einfach Pin(2, Pin.OUT) durch Pin(25, Pin.OUT).
Pin(3, Pin.OUT) legt den Pin als Ausgang fest.
led.value(1) schaltet die LED an – 0 schaltet sie wieder aus.
time.sleep(1) pausiert das Programm für eine Sekunde.
Wenn du mehrere Dinge gleichzeitig machen willst (z. B. LED blinken und Taster abfragen), dann solltest du nicht sleep() verwenden – sondern lieber so:
from machine import Pin
import time
led = Pin(25, Pin.OUT)
intervall = 1000 # Millisekunden
letzte_zeit = time.ticks_ms()
status = False
while True:
jetzt = time.ticks_ms()
if time.ticks_diff(jetzt, letzte_zeit) >= intervall:
status = not status
led.value(status)
letzte_zeit = jetzt
# Hier kannst du andere Dinge tun
Keine Pausen – das Programm läuft durch
Du kannst mehrere Aufgaben gleichzeitig erledigen
Besser für komplexere Projekte
Methode | Vorteil | Nachteil |
---|---|---|
sleep() | Einfach, super zum Starten | Blockiert alles andere |
ticks_ms() | Flexibel, multitaskingfähig | Etwas mehr Code |
Timer/Interrupts | Sehr genau, fortgeschritten | Muss man sich reinarbeiten |