Raspberry Pi Pico: LED mit Taster steuern

Lerne, wie du mit einem Raspberry Pi Pico eine LED mit einem Taster steuerst. Schritt-für-Schritt-Anleitung mit Schaltung, Code, Taster-Anschlüssen, Pull-Down-Widerständen und Entprellen. Perfekt für Einsteiger!

Was du brauchst?

  • Raspberry Pi Pico
  • Micro-USB-Kabel
  • LED (z. B. eine rote LED)
  • 220-Ohm-Widerstand (für die LED)
  • Taster
  • 10k-Ohm-Widerstand (optional, für Pull-Down)
  • Breadboard und Jumper-Kabel

Schritt 1: Aufbau der Schaltung

LED anschließen

  1. Verbinde die lange Seite der LED (+) mit einem GPIO-Pin (z. B. GPIO 13) über einen 220-Ohm-Widerstand.
  2. Verbinde die kurze Seite der LED (-) mit GND.

Taster anschließen

Ein Taster mit 4 Anschlüssen hat zwei intern verbundene Paare. Um zu ermitteln, welche Pins zusammengehören, kannst du ein Multimeter im Durchgangsprüfmodus verwenden. Oftmals kannst du eines der diagonalen Paare nutzen.

  1. Verbinde einen Pin des gewählten Paars mit GPIO 14.
  2. Verbinde den anderen Pin des Paars mit 3.3V.
  3. (Optional) Falls du den internen Pull-Down-Widerstand nicht nutzt, verbinde einen 10k-Ohm-Widerstand zwischen GPIO 14 und GND.

Schaltung

So sollte die Schaltung aussehen:

Schritt 2: Der Code in MicroPython

Lade den folgenden Code auf deinen Raspberry Pi Pico. Dieser schaltet die LED jedes Mal ein oder aus, wenn der Taster gedrückt wird.

from machine import Pin
from time import sleep

# GPIO-Pins definieren
led = Pin(13, Pin.OUT)
button = Pin(14, Pin.IN, Pin.PULL_DOWN)

# Variable für den LED-Zustand
led_status = False
led.value(led_status)

# Endlos-Schleife zur Überprüfung des Tasters
while True:
    if button.value() == 1:
        sleep(0.05)
        if button.value() == 1:
            led_status = not led_status
            led.value(led_status)
            while button.value() == 1:
                pass

Schritt 3: Funktionsweise des Codes

  1. LED und Taster konfigurieren:
    • Die LED wird als Ausgang definiert (Pin.OUT), damit sie ein- und ausgeschaltet werden kann.
    • Der Taster wird als Eingang definiert (Pin.IN) mit aktiviertem internen Pull-Down-Widerstand (Pin.PULL_DOWN).
  2. Taster entprellen:
    • Wenn der Taster gedrückt wird, kann es zu mechanischen Schwingungen kommen, wodurch der GPIO-Pin mehrfach zwischen HIGH und LOW wechselt.
    • Durch sleep(0.05) (50 ms) wird sichergestellt, dass diese Schwingungen ignoriert werden.
  3. LED-Zustand umschalten:
    • Der Zustand der LED (led_status) wird bei jedem Tasterdruck geändert (von True auf False oder umgekehrt).
    • Anschließend wird dieser Zustand auf die LED übertragen.
  4. Warten, bis der Taster losgelassen wird:
    • Um ein mehrfaches Umschalten bei längerem Drücken zu verhindern, wartet der Code, bis der Taster losgelassen wird.

Schritt 4: Warum ein Pull-Down-Widerstand?

Ein GPIO-Pin kann in der Luft „schweben“ und ungewollt HIGH- oder LOW-Zustände annehmen, wenn er nicht eindeutig mit GND oder 3.3V verbunden ist. Der Pull-Down-Widerstand sorgt dafür, dass der GPIO-Pin auf LOW bleibt, wenn der Taster nicht gedrückt ist.

  • Interner Pull-Down: Im Code wird der interne Pull-Down-Widerstand aktiviert (Pin.PULL_DOWN).
  • Externer Pull-Down: Wenn du den internen Widerstand nicht nutzen möchtest, kannst du einen 10k-Ohm-Widerstand zwischen GPIO 14 und GND schalten.

Fazit

Mit dieser Anleitung kannst du mit einem Taster eine LED an deinem Raspberry Pi Pico steuern. Wir haben die Anschlüsse des Tasters analysiert, den Pull-Down-Widerstand erklärt und den Code so gestaltet, dass er entprellt und robust ist. Probiere es aus und erweitere das Projekt, z. B. durch mehrere LEDs oder Taster!