Instructions
15
print("Strg+C beendet das Programm")
Jetzt wird eine kurze Bedienungsanleitung auf dem Bildschirm ausgegeben. Das Programm läuft automa-
tisch. 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ährenddessen eine Systemausnahme auftritt – das kann ein Fehler sein oder auch die Tasten-
kombination [Strg]+[C] – wird abgebrochen, und die except Anweisung am Programmende wird ausge-
führt.
except KeyboardInterrupt:
GPIO.cleanup()
Durch diese Tastenkombination wird ein KeyboardInterrupt ausgelöst und die Schleife automatisch
verlassen. Die letzte Zeile schließt die verwendeten GPIO-Ports und schaltet damit alle LEDs aus. Danach
wird das Programm beendet.
Durch das kontrollierte Schließen der GPIO-Ports tauchen keine Systemwarnungen oder Abbruchmeldun-
gen auf, die den Benutzer verwirren könnten.
Der eigentliche Ampelzyklus läuft in einer Endlosschleife:
while True:
Solche Endlosschleifen erfordern immer eine Abbruchbedingung, da das Programm sonst nie beendet
werden würde.
time.sleep(2)
Am Anfang des Programms und auch bei jedem neuen Beginn der Schleife leuchtet die grüne LED
2Sekunden lang.
GPIO.output(gruen,0)
GPIO.output(gelb,1)
time.sleep(0.6)
Jetzt wird die grüne LED aus- und dafür die gelbe LED eingeschaltet. Diese leuchtet dann alleine für 0,6
Sekunden.
GPIO.output(gelb,0)
GPIO.output(rot,1)
time.sleep(2)
Jetzt wird die gelbe LED wieder ausgeschaltet und dafür die rote LED eingeschaltet. Diese leuchtet dann
alleine für 2 Sekunden. Die Rotphase einer Ampel ist üblicherweise deutlich länger als die Gelbphase.
GPIO.output(gelb,1)
time.sleep(0.6)
Zum Start der Rot-Gelb-Phase wird die gelbe LED zusätzlich eingeschaltet, ohne dass eine andere LED
ausgeschaltet wird. Diese Phase dauert 0,6 Sekunden lang.
GPIO.output(rot,0)
GPIO.output(gelb,0)
GPIO.output(gruen,1)
Am Ende der Schleife springt die Ampel wieder auf Grün. Die rote und die gelbe LED werden ausgeschal-
tet, und die grüne LED wird eingeschaltet. Die Schleife beginnt in der Grünphase der Ampel von Neuem
mit einer Wartezeit von 2 Sekunden. Natürlich können Sie alle Zeiten beliebig anpassen. In der Realität
hängen die Ampelphasen von den Maßen der Kreuzung und den Verkehrsströmen ab. Die Gelb- und die
Rot-Gelb-Phase sind üblicherweise je 2Sekunden lang.
Diese Schleife wird wiederholt, bis der Benutzer die Tastenkombination [Strg]+[C] drückt.










