Das Lesen eines Eingangssignals
Auslesen eines GPIO-Pins mit Python
Im Abschnitt Grundlagen wurde ja bereits die Eingabe von Information mittels GPIO realisiert. Dieses Experiment soll nun ohne technische Hilfsmittel (Widerstände, Taster usw.) realisiert werden. Das Kabel soll dabei mit einem Ende am GPIO-Pin 19 angeschlossen werden. Das andere Ende verbleibt zunächst ohne Anschluss.
Als Grundlage soll das folgende Python-Programm dienen:
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD) # Nummerierung nach Pin-Nummer
GPIO.setup(19,GPIO.IN) # PIN 19 wird zum Lesen verwendet
try:
while True:
if GPIO.input(19): # Abfrage des PINs ( 0 oder 1 )
print("AN")
else:
print("AUS")
sleep(0.1) # 100ms warten...
finally:
GPIO.cleanup() # Loeschen der Konfiguration (von PIN 19)
# Beenden des Programms mit Ctrl+F6 (Menu Shell-->Restart Shell)
Aufgabe 1
Teste das Programm (als Superuser) mit und ohne Kabel an GPIO-Pin 19 und beobachte den Verlauf der Ausgabe in der Konsole.
Aufgabe 2
Da du nun kein Steckbrett zur Verfügung hast, auf dem du einen Pulldown-Widerstand anbringen kannst,
musst du den internen Pulldown-Widerstand deines RasPis verwenden. Dies geschieht durch Anpassung des setup-Befehls:
GPIO.setup(19,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
Teste, ob deine Beobachtungen aus Aufgabe 1 nach Änderung des Quelltextes noch zutreffen!