Raspberry Pi: GPIOs mit CircuitPython als digitale Eingänge und Ausgänge programmieren
Die GPIO-Pins (General Purpose Input/Output) des Raspberry Pi ermöglichen es, externe elektronische Bauteile direkt über Programme zu steuern oder Signale von ihnen zu empfangen. Mit CircuitPython lassen sich diese Pins vergleichsweise einfach als digitale Ein- und Ausgänge konfigurieren und verwenden. Dadurch können beispielsweise LEDs gesteuert oder Taster abgefragt werden.
GPIO-Belegung

Beim Raspberry Pi stehen zahlreiche GPIO-Pins über den 40-poligen GPIO-Header zur Verfügung. Diese Pins können für verschiedene Aufgaben genutzt werden, zum Beispiel zum Einlesen von Signalen oder zum Ansteuern von elektronischen Bauteilen.
Die Bezeichnungen der Pins unterscheiden sich jedoch je nach verwendeter Programmiersprache. Während die Pins häufig mit ihrer GPIO-Nummer angegeben werden, verwendet CircuitPython eine etwas andere Namenskonvention.
In CircuitPython werden die Pins meist mit der Bezeichnung „D“ (für „Digital“) und der entsprechenden Nummer angesprochen. Ein Beispiel dafür ist der „GPIO 2“. In CircuitPython wird dieser Pin als „D2“ bezeichnet und im Programm mit „board.D2“ initialisiert.
GPIO als digitaler Ausgang (mit LED)
Ein häufiges Einsteigerbeispiel ist das Ansteuern einer LED über einen GPIO-Pin. Dazu wird die LED über einen Vorwiderstand mit einem GPIO-Pin und dem Masseanschluss (GND) des Raspberry Pi verbunden. Der Vorwiderstand ist notwendig, um den Strom zu begrenzen und sowohl die LED als auch den Raspberry Pi zu schützen.
Damit der Raspberry Pi die LED steuern kann, muss der entsprechende GPIO-Pin im Programm zunächst als digitaler Ausgang initialisiert werden. Anschließend kann der Pin auf einen hohen (HIGH = 3,3 V) oder niedrigen (LOW = 0 V) Pegel gesetzt werden. Liegt am Pin ein HIGH-Signal an, fließt Strom durch die LED und sie leuchtet. Bei einem LOW-Signal fließt kein Strom und die LED bleibt aus.
# Bibliotheken laden
import board
import digitalio
import time
# Initialisierung GPIO02 als digitaler Ausgang
led = digitalio.DigitalInOut(board.D2)
led.direction = digitalio.Direction.OUTPUT
# Wiederholung (Endlos-Schleife)
while True:
# LED einschalten
led.value = True
time.sleep(0.5) # halbe Sekunde warten
# LED ausschalten
led.value = False
time.sleep(1.0) # 1 Sekunde warten
GPIO als digitaler Eingang (mit Taster)
GPIO-Pins können als digitale Eingänge verwendet werden, um den Zustand externer Bauteile auszulesen. Ein typisches Beispiel ist ein Taster. Der Taster wird so angeschlossen, dass beim Drücken ein elektrischer Kontakt entsteht und sich der Spannungszustand am GPIO-Pin ändert.
Damit der Raspberry Pi diesen Zustand erkennen kann, muss der entsprechende GPIO-Pin zunächst als digitaler Eingang initialisiert werden. Anschließend kann das Programm regelmäßig den aktuellen Zustand des Pins abfragen. Wird der Taster gedrückt, erkennt das Programm die Zustandsänderung und kann darauf reagieren, beispielsweise indem eine LED eingeschaltet oder eine andere Aktion ausgeführt wird.
# Bibliotheken laden
import board
import digitalio
import time
# Initialisierung GPIO-Ausgang
led = digitalio.DigitalInOut(board.D2)
led.direction = digitalio.Direction.OUTPUT
# Initialisierung GPIO-Eingang
btn = digitalio.DigitalInOut(board.D3)
btn.direction = digitalio.Direction.INPUT
btn.pull = digitalio.Pull.UP
print('Drücken den Taster')
# Wiederholung (Endlos-Schleife)
while True:
led.value = not btn.value
time.sleep(1)
Weitere verwandte Themen:
- Raspberry Pi: CircuitPython
- Raspberry Pi: Bare Metal CircuitPython
- Raspberry Pi: Bare Metal CircuitPython installieren
- Raspberry Pi: Bare Metal CircuitPython programmieren
- Raspberry Pi: HDMI-Ausgabe mit CircuitPython programmieren
Frag Elektronik-Kompendium.de
Produktempfehlungen
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.


