User manual
rendszerkivétel lépne fel – ami hiba is lehet, vagy akár megszakadt a
[Strg]+[C] nyomógomb-kombináció, és az except-utasítás a program végén hajtódik végre.
Ezzel a nyomógomb-kombinációval egy KeyboardInterrupt-ot (nyomógombos megszakítás) váltunk
ki, és a hurkot automatikusan elhagyjuk. Az utolsó sor lezárja az alkalmazott GPIO-portokat, és
ezzel kikapcsolja az összes LED-et. Majd befejeződik a program. A GPIO-portok vezérelt
lezárásakor nem jelennek meg se rendszerfigyelmeztetések, se megszakítás-jelentések,
amelyek összezavarhatnák a felhasználót. A tulajdonképpeni jelzőlámpaciklus végtelen
hurokban fut:
while True : Ezekhez a végtelen hurkokhoz szükség van egy megszakítási feltételre, mivel
egyébként soha nem fejeződne be a program.
time.sleep(2) A program kezdetén, és a hurok minden egyes elkezdődésénél a zöld LED 2
másodpercig világít.
Most a zöld LED kialszik, és helyette a sárga LED kigyullad. Ez csupán 0,6 másodpercig
világít.
Most a sárga LED ismét kialszik, és helyette a piros LED gyullad ki. Majd ez csupán 2
másodpercig világít. A közlekedési jelzőlámpa piros fázisa általában lényegesen hosszabb,
mint a sárga fázis.
A piros-sárga fázis megkezdéséhez még a sárga LED is kigyullad, anélkül, hogy egy másik
LED kialudna. Ez a fázis 0,6 másodpercig tart.
A hurok végén a közlekedési jelzőlámpa ismét zöldre vált. A piros és a sárga LED kialszik, a
zöld bekapcsolódik. A hurok a jelzőlámpa zöld fázisában kezdődik újra 2 másodperces
várakozási idővel. Természetesen az összes idő tetszés szerint állítható be. A valóságban a
közlekedési jelzőlámpa fázisai a kereszteződés méreteitől és a forgalom sűrűségétől függenek.
A sárga- és a piros-sárga fázis általában 2-2 másodpercig tart.
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.output(Ampel[gruen],False); GPIO.output(Ampel[gelb],True)
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)
35