Instructions

32
time.sleep(0.6)
GPIO.output(Ampel[gelb],False); GPIO.output(Ampel[rot],True)
time.sleep(2)
GPIO.output(Ampel[gelb],True)
time.sleep(0.6)
GPIO.output(Ampel[rot],False); GPIO.output(Ampel[gelb],False)
GPIO.output(Ampel[gruen],True)
except KeyboardInterrupt:
GPIO.cleanup()
3.1.1 So funktioniert es
Die ersten Zeilen sind bereits bekannt, sie importieren die Bibliotheken RPi.GPIO für die Ansteuerung der
GPIO-Ports und
time für Zeitverzögerungen. Danach wird die Nummerierung der GPIO-Ports wie im vorheri-
gen Beispiel auf BCM gesetzt.
rot = 0; gelb = 1; gruen = 2 Diese Zeilen definieren die drei Variablen rot, gelb und gruen für die
drei LEDs. Damit braucht man sich im Programm keine Nummern oder GPIO-Ports zu merken, sondern kann
die LEDs einfach über ihre Farben ansteuern.
Ampel=[4,18,23] Zur Ansteuerung der drei LEDs wird eine Liste eingerichtet, die die GPIO-Nummern in der
Reihenfolge enthält, in der die LEDs auf der Steckplatine verbaut sind. Da die GPIO-Ports nur an dieser einen
Stelle im Programm auftauchen, können Sie das Programm ganz einfach umbauen, wenn Sie andere GPIO-
Ports nutzen möchten.
GPIO.setup(Ampel[rot], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gelb], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gruen], GPIO.OUT, initial=True)
Nacheinander werden die drei verwendeten GPIO-Ports als Ausgänge initialisiert. Dabei verwenden wir
diesmal keine GPIO-Portnummern, sondern die zuvor definierte Liste. Innerhalb einer Liste werden die ein-
zelnen Elemente über Zahlen, mit 0 beginnend, indiziert.
Ampel[0] ist also das erste Element, in diesem Fall
4. Die Variablen rot, gelb und gruen enthalten die Zahlen 0, 1 und 2, die als Indizes für die Elemente der Liste
benötigt werden. Auf diese Weise lassen sich die verwendeten GPIO-Ports über Farben adressieren:
Ampel[rot] entspricht dem GPIO-Port 4 mit der roten LED.
Ampel[gelb] entspricht dem GPIO-Port 18 mit der gelben LED.
Ampel[gruen] entspricht dem GPIO-Port 23 mit der grünen LED.
Die
GPIO.setup-Anweisung kann einen optionalen Parameter initial enthalten, der dem GPIO-Port bereits
beim Initialisieren einen logischen Status zuweist. Damit schalten wir in diesem Programm die grüne LED
bereits von Anfang an ein. Die anderen beiden LEDs beginnen das Programm im ausgeschalteten Zustand.
print ("Strg+C beendet das Programm") Jetzt wird eine kurze Bedienungsanleitung auf dem Bildschirm
ausgegeben. Das Programm läuft automatisch. Die Tastenkombination
[Strg]+[C] soll es beenden. Um
abzufragen, ob der Benutzer mit
[Strg]+[C] das Programm beendet, verwenden wir eine try...except-
Abfrage. Dabei wird der unter
try: eingetragene Programmcode zunächst normal ausgeführt. Wenn wäh-