GPIO – Die universelle Schnittstelle zur Steuerung und Erfassung von Signalen
Was ist eine GPIO-Schnittstelle?
Die GPIO-Schnittstelle steht für General Purpose Input/Output. Dabei handelt es sich um eine universelle digitale Schnittstelle, die auf vielen Mikrocontrollern wie dem Arduino, ESP32, Raspberry Pi oder anderen eingebetteten Systemen zu finden ist. GPIO-Pins können per Programm als Eingänge oder Ausgänge konfiguriert werden. Sie dienen zum Lesen digitaler Signale oder zum Ansteuern externer Komponenten.
Technische Spezifikationen (am Beispiel des Arduino Uno)
Merkmal | Beschreibung |
---|---|
Anzahl GPIO-Pins | 14 digitale I/O Pins (D0–D13) |
Spannung | 5V (Logik HIGH), 0V (Logik LOW) |
Maximaler Ausgangsstrom | ca. 40 mA pro Pin |
Interne Pullup-Widerstände | Softwareaktivierbar (INPUT_PULLUP) |
PWM-fähige Pins | D3, D5, D6, D9, D10, D11 |
Schutz | Kein Überspannungsschutz integriert |
Anwendungsbeispiel: LED über GPIO steuern
Das Projekt wird eine LED über einen GPIO-Pin ein- und ausschalten.
Bauteile:
- 1× Arduino Uno
- 1× LED (z. B. 5 mm, rot)
- 1× 220 Ω Widerstand
- Jumper-Kabel
- Steckbrett
Schaltung:
Die LED-Anode (+) an Digitalpin 13 und die Kathode (–) über 220 Ω Widerstand an GND anschließen.
Arduino D13 ─────┬────>│──┬─── GND
│ LED │
│ R
└────────┘
Programmierung der Arduino IDE
// Pin-Definition
const int ledPin = 13;
void setup() {
// Setze Pin 13 als Ausgang
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // LED ein
delay(1000); // 1 Sekunde warten
digitalWrite(ledPin, LOW); // LED aus
delay(1000); // 1 Sekunde warten
}
Erklärung des Codes
pinMode(ledPin, OUTPUT)
: Konfiguriert Pin 13 als AusgangdigitalWrite(ledPin, HIGH)
: Schaltet die LED eindelay(1000)
: Wartet 1 Sekundeloop()
: Wiederholt den Vorgang in einer Endlosschleife
Weitere Anwendungsmöglichkeiten von GPIO
- Taster abfragen (Input)
- Relais ansteuern (Output)
- Sensoren auslesen
- Servomotoren steuern
- Datenkommunikation über I²C oder SPI
Fazit
Die GPIO-Schnittstelle ist das zentrale Bindeglied zwischen Mikrocontroller und realer Welt. Durch einfaches Umschalten zwischen Input und Output kann ein Arduino vielseitige Aufgaben übernehmen – von der simplen LED-Steuerung bis hin zur komplexen Sensorüberwachung. Wer die Funktionsweise der GPIO-Pins verstanden hat, besitzt das Fundament für nahezu jedes Elektronikprojekt.