⚠️

Warnung – Verkabelung

Schließe niemals eine LED ohne Vorwiderstand direkt an die GPIO-Pins an! Ohne Widerstand fließt zu viel Strom, was sowohl die LED als auch den GPIO-Pin oder den gesamten Raspberry Pi zerstören kann. Verwende immer einen Widerstand (220Ω–330Ω). Überprüfe deine Verkabelung sorgfältig, bevor du den Pi einschaltest. Trenne den Pi immer vom Strom, bevor du Kabel änderst.

1

GPIO-Pin-Layout verstehen

Der Raspberry Pi verfügt über einen 40-Pin GPIO-Header (General Purpose Input/Output). Diese Pins ermöglichen es dir, elektronische Bauteile wie LEDs, Sensoren und Motoren direkt an den Pi anzuschließen.

Wichtige Pin-Typen:

  • 3.3V (Pin 1, 17) – Spannungsversorgung 3,3 Volt

  • 5V (Pin 2, 4) – Spannungsversorgung 5 Volt

  • GND (Pin 6, 9, 14, 20, 25, 30, 34, 39) – Masse/Ground

  • GPIO – Programmierbare Ein-/Ausgangs-Pins

Zeige das GPIO-Layout mit folgendem Befehl an:

Terminal
pinout
💡

Tipp

Es gibt zwei Nummerierungssysteme: BCM (Broadcom-Nummern, z.B. GPIO17) und BOARD (physische Pin-Position, z.B. Pin 11). In diesem Tutorial verwenden wir BCM-Nummern.

2

LED und Widerstand verkabeln

Für dieses Projekt benötigst du folgende Bauteile:

  • 1x LED (beliebige Farbe)

  • 1x Widerstand 220Ω oder 330Ω

  • 2x Jumper-Kabel (Male-to-Female)

  • 1x Breadboard (optional, aber empfohlen)

Schaltungsaufbau:

  1. Verbinde GPIO17 (Pin 11) über ein Jumper-Kabel mit einer Reihe auf dem Breadboard

  2. Setze den 220Ω-Widerstand in dieselbe Reihe wie das Kabel und in eine benachbarte Reihe

  3. Setze die LED so ein, dass das längere Bein (Anode, +) in der Reihe mit dem Widerstand ist

  4. Verbinde das kürzere Bein (Kathode, –) der LED mit GND (Pin 6) über ein Jumper-Kabel

Zusammenfassung der Verbindungen:

Schaltplan
GPIO17 (Pin 11) ---[ 220Ω ]---[LED +]---[LED -]--- GND (Pin 6)
3

LED über die Kommandozeile steuern

Du kannst GPIO-Pins direkt über das Dateisystem steuern, ohne zusätzliche Software zu installieren. Hier nutzen wir das sysfs-Interface:

GPIO-Pin aktivieren (exportieren):

Terminal
echo 17 | sudo tee /sys/class/gpio/export

Pin als Ausgang konfigurieren:

Terminal
echo out | sudo tee /sys/class/gpio/gpio17/direction

LED einschalten:

Terminal
echo 1 | sudo tee /sys/class/gpio/gpio17/value

LED ausschalten:

Terminal
echo 0 | sudo tee /sys/class/gpio/gpio17/value

Pin wieder freigeben (unexport):

Terminal
echo 17 | sudo tee /sys/class/gpio/unexport
4

LED mit Python steuern (RPi.GPIO)

Für fortgeschrittene Steuerung verwenden wir die Python-Bibliothek RPi.GPIO. Diese ist auf Raspberry Pi OS vorinstalliert. Falls nicht, installiere sie mit:

Terminal
sudo apt install python3-rpi.gpio -y

Erstelle eine neue Python-Datei:

Terminal
nano led_blink.py

Füge folgenden Code ein – die LED blinkt 10 Mal im Sekundentakt:

Python
import RPi.GPIO as GPIO
import time

# BCM-Nummerierung verwenden
GPIO.setmode(GPIO.BCM)

# GPIO17 als Ausgang konfigurieren
LED_PIN = 17
GPIO.setup(LED_PIN, GPIO.OUT)

try:
    # LED 10 Mal blinken lassen
    for i in range(10):
        GPIO.output(LED_PIN, GPIO.HIGH)  # LED an
        print(f"LED AN  (Durchlauf {i + 1}/10)")
        time.sleep(1)

        GPIO.output(LED_PIN, GPIO.LOW)   # LED aus
        print(f"LED AUS (Durchlauf {i + 1}/10)")
        time.sleep(1)

    print("Fertig!")

except KeyboardInterrupt:
    print("\nAbgebrochen durch Benutzer.")

finally:
    # GPIO-Pins zuruecksetzen
    GPIO.cleanup()
    print("GPIO aufgeraeumt.")

Speichere die Datei (Ctrl+O, dann Enter, dann Ctrl+X) und führe sie aus:

Terminal
sudo python3 led_blink.py

Die LED sollte nun 10 Mal blinken. Du kannst das Skript jederzeit mit Ctrl+C abbrechen – der finally-Block sorgt dafür, dass die GPIO-Pins sicher zurückgesetzt werden.

💡

Tipp

Rufe immer GPIO.cleanup() am Ende deines Skripts auf. Das setzt alle GPIO-Pins zurück und verhindert Warnungen beim nächsten Ausführen. Nutze dafür einen try/finally-Block wie im Beispiel oben.