Raspberry Pi GPIO Info

GPIO-Pins oder auch "General Purpose Input Output Pins" bilden die zentrale Schnittstelle zwischen dem Raspberry Pi und externen Geräten sowie digitalen Schaltungen, hierbei gibt es generelle GPIO Pins für Ein- und Ausgaben und Pins mit bestimmten Funktionen wie zum Beispiel die Kommunikation via I2C, UART oder SPI. Die Seite soll euch eine kurzrefrezenz zu den mittlerweile zahlreichen GPIOs des Raspberry Pi geben und euch mit kurzinfos zu den jeweiligen Funktionen versorgen. Für eigene Projekte steht euch ein GPIO Worksheet als Excel, JPG oder PDF Dokument zur Verfügung.

Raspberry Pi GPIO Funktionen

Die Steuerung der GPIOs erfolgt über den Raspberry Pi via Software, meist anhand des standard Linux Betriebssystems Raspbian unter Verwendnung der Programmiersprachen Bash, C/C++ oder Phython. Linux bringt glücklicherweiße ein eigenes GPIO-Subsystem als Schnittstelle für Anwendungen zur Hardware mit, somit müssen wir uns als Maker oder Programmierer nicht um die Ressourcenzuteilung und das Teilen der GPIOs zwischen verschiedenen Anwendungen kümmern.

Raspberry Pi GPIO Einführung

Die GPIO Schnittstelle besteht bei den neuren Raspberry Pi Modellen aus 40 einzelnen physikalischen GPIO Pins. Von diesen 40 Pins können 17 Pins nach wunsch frei für die Ein- oder Ausgabe verwendet werden, es bleibt dem Entwickler überlassen welche ob er via Software den einzelnen PINs jeweils die Ein- oder Ausgabe-Funktion zuordnet.

GPIO Pins haben zwei mögliche Zustände, entweder "An" oder "Aus", es liegt entweder eine Spannung von 3,3V an (An) oder eben nicht (Aus). Oft auch als "high (An)" oder "low (Aus)" bezeichnet. Wenn man es ganz genau nimmt erkennt der RasPi einen HIGH Zustand zwischen 2,97V - 3,3V und den LOW Zustand zwischen 0V und 0,33V.

Ein normaler GPIO kann zwei Funktionen erfüllen, er ist enteder ein Eingabe (Input) oder ein Ausgabe (Output) Pin. Da der Raspberry Pi ein "Mikroprozessor" ist denkt er in Nullen und Einsen, in Abhängigkeit ob ein Pin als Input oder Output definiert wurde erkennt der Pi den Zustand:

- Wenn ein GPIO Pin als Ausgabe (Output) arbeitet kann via "An" oder "high" eine 3,3V Spannung angelegt werden was einer logischen 1 entspricht. Eine logische 0 wenn keine Spannung angelegt wird ("low" oder "aus"). Das ermöglicht Schaltvorgänge.
- Wenn ein GPIO als Eingabe (Input) arbeitet kann der Raspberry Pi den Zustand "An" oder "high" erkennen wenn eine Spannung von 3,3V angelegt wird (z.B. von einem gedrückten Taster), das entspricht logisch 1. Logisch 0, also "Aus" oder "Low" entsprechend wenn keine Spannung anliegt.

Die restlichen 23 Pins haben neben +3,3V/5V und Ground andere Funktionen zugewießen:

- I2C Pins - sind teil eines spezielle Bus Systems welches die Kommunikation zwischen verschiedenen Integrierten Schaltungen ermöglichen soll
- SPI Pins - sind ebenfalls teil eines spezielle Bus Systems für dan Datenaustausch über einen synchronen seriellen Datenbus.
- Rx und Tx Pins - mit diesen Pins können ebenfalls serielle Geräte angesteuert werden, allerdings erfolgt die Datenbüertragung asynchron.
- PWM Pins - Pulsweitenmodulations-Pins senden Impulse mit voller Spannung aber variabler länge, wird oft für die Motor oder Servosteuerung verwendet.

GPIO Pins der Raspberry Pi Modelle

Modell Vorhanden
Raspberry Pi 3 Modell B 40 Pins / 17 GPIOs zur freien Verwendung
Raspberry Pi 2 Modell B 40 Pins / 17 GPIOs zur freien Verwendung
Raspberry Pi Zero und Zero Version 1.3 40 Pins / 17 GPIOs zur freien Verwendung
Raspberry Pi 1 Modelle A+ und B+ 40 Pins / 17 GPIOs zur freien Verwendung
Raspberry Pi 1 Modelle A und B 26 Pins / 8 GPIOs zur freien Verwendung

Alternative GPIO Funktionen

Jeder GPIO kann verschiedene Funktionen wahrnehmen, diese sind mit ALT0 bis ALT5 bezeichnet und sollen mehr felxibilität bringen. Im Standard führt der Pin immer die unter ALT0 beschriebene Funktion aus, eine Umschaltung via Software ist möglich.

Über raspberrypi.ws

Als Author der Webseite raspberry.tips beschäftige ich mich mit vielen Themen rund um Einplatinencomputer. Die interaktive GPIO Info Anwendung ist aus einigen Tagen Freizeit, Training der CSS-Skills und dem Bedürfniss nach einer leichtgewichtigen und informativen Anwendung zum Thema Raspberry Pi GPIOs entstanden. Sie orientiert sich an pinout.xyz, besitzt aber Serverseitig keinerlei Code zum generieren der Infos.