GPIO steht für General Purpose Input Output, also für Allgemeine Ein- Ausgabe Pins. Derartige Pins sind die Peripherie eines Mikrocontrollers und können Signale Ausgeben oder eben Einlesen.
Signal-Ausgabe
Im Modus "Ausgabe" kann im Programm festgelegt werden, ob an den entsprechenden Pin 0V oder die Logikspannung des verwendeten Microcontrollers angelegt werden soll. Typische Spannungen sind 3.3V oder 5.0V.
Über diese Spannung können an den Pin angeschlossene Verbraucher Ein- oder Ausgeschaltet werden. Die Pins können nur einen sehr kleinen Strom von wenigen Milliampere liefern. Daher muss sichergestellt sein, dass keine Verbraucher direkt an einen GPIO angeschlossen werden! Ansonsten besteht die Gefahr, dass der Mikrocontroller beschädigt wird! Eine Ausnahme stellen LEDs mit einem entsprechend gewählten Vorwiderstand dar. Alle anderen Verbraucher müssen über Transistoren oder Verstärker-ICs geschaltet werden.
Signal-Eingabe
Im Modus "Eingang" kann in einem Programm abgefragt werden, ob an einem Pin gerade die Logikspannung (+5V bzw. +3.3V) oder 0V anliegt. Entsprechend wird eine "0" oder eine "1" zurückgegeben. Es muss sichergestellt sein, dass keine höhere Spannung als die vom Mikrocontroller verwendete Logikspannung (3.3V oder 5.0V) an einen Pin gelegt wird, da ansonsten der Mikrocontroller beschädigt wird!
Im Verlauf dieses Tutorials werden entsprechende Schaltungen gezeigt, die das Anlegen zu hoher Spannungen verhindern. Ebenfalls in einem späteren Kapitel wird gezeigt, dass spezielle GPIOs auch analoge Signale einlesen können und der Rückgabewert in die tatsächlich anliegende Spannung ungerechnet werden kann.
Gummibärchen als Nervennahrung beim Programmieren und der Betrieb dieses Servers verschlingen mein Geld.
Helft mit einer Motivationsspritze, dieses Projekt am Laufen zu halten.