Ein Raspberry Pi kann LEDs, Sensoren, Taster oder Displays direkt über seine GPIO-Pins ansteuern. Diese Pins sind jedoch empfindlich, da sie direkt mit dem Prozessor verbunden sind. Deshalb muss beim Aufbau der Hardware sorgfältig gearbeitet werden: richtige Spannungen verwenden, Bauteile korrekt anschließen und Änderungen nur im ausgeschalteten Zustand vornehmen. Ziel ist es, einfache Schaltungen sicher aufzubauen und die Grundlagen für spätere Projekte mit Elektronik zu erlernen.
Ein Raspberry Pi kann LEDs, Sensoren, Taster oder Displays direkt über seine GPIO-Pins ansteuern. Diese Pins sind jedoch empfindlich, da sie direkt mit dem Prozessor verbunden sind. Deshalb muss beim Aufbau der Hardware sorgfältig gearbeitet werden: richtige Spannungen verwenden, Bauteile korrekt anschließen und Änderungen nur im ausgeschalteten Zustand vornehmen. Ziel ist es, einfache Schaltungen sicher aufzubauen und die Grundlagen für spätere Projekte mit Elektronik zu erlernen.
Anfänger sollten sehr vorsichtig sein! Tatsächlich ist ein Arduino für erste Experimente (wegen des geringeren Preises) häufig die bessere Wahl.
Bitte alle Anweisungen beachten und im Zweifel den Tutor fragen.
Gerade Anfängern passiert es leider immer wieder, dass sie versehentlich genau das Falsche tun.
Beim Raspberry Pi gelten für die GPIO-Pins grob folgende elektrische Grenzen:
Dieses LED-Modul besitzt vier Anschlüsse:
Wir verwenden folgende GPIO-Nummern. Falls andere gewählt werden muss der Quellcode entsprechend angepasst werden.
| Modul | Raspberry Pi GPIO |
|---|---|
| GND | beliebigen GND |
| R → rote LED | GPIO17 |
| G → grüne LED | GPIO27 |
| Y → gelbe LED | GPIO22 |
Aufgabe: Anlegen einer Python-Environment
Lege eine Umgebung
~/devel/projects/course_env an.
Hierfür muss der Ordner ~/devel/projects bereits vorhanden sein.
source ~/devel/projects/course_env/bin/activate
Systemweit GPIO-Unterstützung über apt zur Verfügung stellen:
sudo apt install python3-rpi.gpio
Jetzt die ENV aktivieren (falls noch nicht geschehen) und dann erst RPi.GPIO installieren:
source ~/devel/projects/course_env/bin/activate pip install RPi.GPIO
Dieses Programm (led_simple.py) schaltet eine einzelne LED am Raspberry Pi.
Pin und Befehl werden im ADJUST AREA angepasst.
GPIO.cleanup() setzt am Ende alle verwendeten GPIO-Pins wieder zurück.
#!/usr/bin/env python3 import RPi.GPIO as GPIO # START ADJUST AREA PIN = 17 # PIN wählen VALUE = GPIO.HIGH # HIGH / LOW (anschalten/ausschalten) # END ADJUST AREA def main(): GPIO.setmode(GPIO.BCM) # Broadcom-GPIO-Nummern GPIO.setwarnings(False) # Warning OFF GPIO.setup(PIN, GPIO.OUT) # Als Ausgabe PIN festlegen GPIO.output(PIN, VALUE) # Output setzen! state = GPIO.input(PIN) print("Status: ", bool(state)) # GPIO.cleanup() # Pin freigeben (LOW INPUT) if __name__ == "__main__": main()
chmod 775 led_simple.py # einmalig ausführbar machen! ./led_simple.py # Script ausführen!
Hierfür muss das Programm ausführbar gemacht werden (chmod) und man sich im Verzeichnis des auszuführenden Programms befinden.