Raspberry Pi: Das können die GPIO-Pins

Seinen Ruf als Bastel-Rechner hat der Raspberry Pi auch den so genannten GPIO-Pins zu verdanken. Doch was hat es damit genau auf sich?

In Pocket speichern vorlesen Druckansicht
Raspberry Pi 4 Model B im c't-Labor

(Bild: c't/Christof Windeck)

Stand:
Lesezeit: 5 Min.
Von
  • Michael Mierke
Inhaltsverzeichnis

Seit 2012 begeistert der Raspberry Pi eine stetig größer werdende Fangemeinde. Das liegt natürlich primär an seinen vielfältigen Einsatzmöglichkeiten. Ob als Multimedia-Player mit Kodi, Allround-Emulatoren-Station für Spieleklassiker oder schlicht als vollwertiger Linux-Rechner, der Pi macht eine gute Figur. Doch sein ganzes Potenzial entfaltet der Mini-PC erst, wenn man die GPIO-Pins einsetzt. Die 40 Stecker finden sich auf allen aktuellen Pis inklusive des kleineren Raspberry Pi Zero. Sie ermöglichen es dem Pi, mit externen Geräten zu kommunizieren oder auch diverse Schaltungen zu realisieren. Die GPIO-Leiste ist damit auch die Grundlage für viele Bastelprojekte, die mit dem Raspberry Pi realisiert werden können.

Die Abkürzung GPIO steht für "General Purpose Input/Output”. Zu Deutsch bedeutet dies frei übersetzt "Ein- und Ausgabe für allgemeine Zwecke” - und genau das fasst die Funktionsweise der PINs gut zusammen. Bei GPIO handelt es sich um eine Standardschnittstelle, die verwendet wird, um Mikrocontroller mit anderen elektronischen Geräten zu verbinden. So können beispielsweise Sensoren, Dioden, Displays und System-on-Chip-Modulen über GPIO mit einem Mini-Computer wie dem Raspberry Pi verbunden werden.

Tatsächlich ist der Pi nicht der einzige Single-Board-Computer mit einer GPIO-Schnittstelle. Viele Raspi-Alternativen wie beispielsweise der Banana Pi bieten ebenfalls eine GPIO-Leiste. Deren Belegung ist in vielen Fällen identisch mit der des Pis, sodass sich entsprechende Projekte recht einfach übertragen lassen.

Die GPIO-Pins (hier vom aktuellen Raspberry Pi 4) erfüllen eine ganze Reihe unterschiedlicher Anwendungszwecke.

Welche Aufgabe die GPIO-Pins übernehmen sollen, lässt sich über eine softwareseitige Programmierung mit Tools wie Python oder Scratch realisieren. Beispiele für die Nutzung der GPIO-Pins sind etwa die Ansteuerung von LED-Lämpchen, eine einfache Ausgabe von Tönen (etwa ein Buzzer) oder auch die Stromversorgung für externe Geräte. Umgekehrt lassen sich über die GPIO-Pins beispielsweise auch Schalter mit dem Raspi verbinden und via Programmierung bestimmte Aktionen ausführen. Ein Klassiker dafür wäre beispielsweise ein Power-Schalter, der den Mini-Computer auf Knopfdruck startet oder herunterfährt.

Ein einfacher, aber durchaus praktischer Anwendungszweck für die GPIO-Ausgabe wäre eine LED, die aufleuchtet, wenn auf dem Raspberry Pi eine bestimmte Operation durchgeführt wird. Das ist vor allem im sogenannten "Headless”-Betrieb (also ohne angeschlossenen Monitor für Display-Ausgaben) praktisch.

Seit dem Raspberry Pi in der Revision B+ verfügen die Mini-Computer über insgesamt 40 GPIO-Anschlüsse. Davon sind allerdings nur 26 belegt. Manche der Pins erfüllen gleich mehrere Zwecke und müssen entsprechend über eine passende Programmierung definiert werden.

Einige der Pins liefern zudem Spannungen von 5 bzw. 3,3 Volt. Zusammen liefern die GPIO-Pins bis zu 50 Milliampere Strom an externe Geräte. Das genügt für einfache LEDs, größere Schaltungen benötigen aber eine eigene Stromversorgung.

Wer mit GPIO-Pins arbeiten möchte, sollte die Belegung kennen. Seiten wie Raspberry Pi Pinout helfen dabei (Quelle: pinout.xyz).

Die elektrischen Eigenschaften der Pins sind auch der Grund dafür, dass man beim Experimentieren mit Kabeln und anderen Komponenten Vorsicht walten lassen sollte. Das zufällige Einstecken von Kabeln und Stromquellen in einen Pi kann zu einem Kurzschluss des Prozessors führen und diesen damit zerstören - das gilt vor allen für die 5-Volt-Pins. Leider ist die Zählweise und die Belegung der GPIO-Pins beim Raspberry Pi vor allem für Einsteiger nicht leicht zu durchschauen. Es empfiehlt sich daher, bei eigenen Experimenten eine Übersicht der Pin-Belegung zur Hand zu haben.

Die GPIO-Pins sind natürlich nur in Kombination mit entsprechenden Hardware-Komponenten interessant. Erste Schritte mit der Ansteuerung von LEDs und Co. lassen sich aber bereits mit geringem finanziellen Aufwand tätigen.

Ein guter Ansatzpunkt für die Benutzung der vielseitigen Raspi-Pins liefern beispielsweise sogenannte Breadboards. Die Steckbretter werden über ein Jumper-Kabel mit dem Raspberry Pi verbunden. Anschließend können verschiedene Schaltungen realisiert werden, ohne dafür zum Lötkolben zu greifen.

Wer sich für den Einstieg in die GPIO-Nutzung interessiert, sollte sich bei Elektrofachhändlern nach einem Breadboard-Starterset umschauen. Solche Sets beinhalten neben dem Steckbrett auch die benötigten Kabel sowie Komponenten wie LEDs, Schalter oder Widerständen.

Um über die GPIO-Pins angeschlossene Komponenten zu nutzen, bedarf es einer Programmierung. Python, die Standard-Programmiersprache für den Pi, ist dank einer zur Verfügung stehenden Bibliothek gut dafür geeignet. Bevor man mit der Programmierung loslegen kann, muss man dieses aber noch über die Python-Konsole importieren. Der benötigte Befehl lautet: import RPi.GPIO as GPIO

Anschließend kann mit der Programmierung der Pins begonnen werden. Ein Blick in die offizielle Dokumentation der Raspberry Pi Foundation verrät die Grundlagen der GPIO-Programmierung mit Python.

Noch einfacher lassen sich die GPIO-Pins über den in Raspbian integrierten grafischen Programmierbaukasten Scratch ansprechen. Auch hier liefert die offizielle Raspi-Dokumentation eine gute Basis-Einführung unter raspberrypi.org.

Wer keine Lust auf Python hat, kann auch die grafische Programmiersprache Scratch für die Ansteuerung der GPIO-Pins verwenden.

Eine gute deutschsprachige Anleitung zur Programmierung der GPIO-Pins findet sich beispielsweise bei den Raspberry Pi Tutorials auf tutorials-raspberrypi.de.

Mehr Infos

(mimi)