User manual

31
GPIO.output(Ampel[blau],False); time.sleep(0.05)
time.sleep(0.6)
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()
4.1.1 Tako deluje
Potek programa je v veliki meri znan. Med rdečo fazo, ki je sedaj malce daljša, mora modri
semafor za pešce hitro utripati.
blau = 4
Nova spremenljivka definira LED za semafor za pešce na seznamu.
Ampel=[4,18,23,24]
Seznam se poveča na štiri elemente, da je možno krmiljenje štirih LED.
GPIO.setup(Ampel[blau], GPIO.OUT, initial=False)
Nova LED se inicializira in je na začetku izklopljena. To je osnovna nastavitev med zeleno
fazo semaforja.
time.sleep(0.6)
for i in range(10):
GPIO.output(Ampel[blau],True); time.sleep(0.05)
GPIO.output(Ampel[blau],False); time.sleep(0.05)
time.sleep(0.6)
V ciklu semaforja se 0,6 sekunde po začetku rdeče faze začne zanka, ki skrbi za utripanje
modre LED. V ta namen je tukaj uporabljena zanka for, ki za razliko od zank while, ki so
bile uporabljene v prejšnjih preizkusih, vedno uporablja določeno število prehodov zanke in
ne poteka tako dolgo, dokler ni izpolnjen določen pogoj za prekinitev.
for i in range(10):
Vsaka zanka for potrebuje zančni števec spremenljivko, ki pri vsakem prehodu zanke
dobi novo vrednost. Za enostavne zančne števce se je v vseh programskih jezikih uveljavilo
ime spremenljivke i. Možno je seveda tudi vsako drugo ime. To vrednost lahko tako kot
vsako drugo spremenljivko prikličete znotraj zanke, vendar to tukaj ni potrebno. Parameter
range v zanki navaja, koliko prehodov opravi zanka, natančneje povedano, katere vrednosti
lahko zančni števec sprejme. V našem primeru zanka opravi deset prehodov. Zančni števec
i pri tem dobiva vrednosti od 0 do 9. Znotraj zanke se vklopi nova modra LED in se po 0,05
sekundah ponovno izklopi. Po nadaljnjih 0,05 sekundah je en prehod zanke zaključen in
naslednji se ponovno začne z vklopom LED. Na ta način desetkrat utripne, kar skupno traja 1
sekundo.
time.sleep(0,6)
Z zakasnitvijo 0,6 sekund po zadnjem prehodu zanke se nadaljuje običajen preklopni cikel
semaforja, tako da se vklopi rumena LED dodatno k rdeči, ki že sveti. Zaenkrat torej ni veliko
novega. Resnično zanimiv postane semafor za pešce, ko ne deluje samodejno, temveč se
aktivira šele s pritiskom tipke, tako kot je to značilno za številne semaforje za pešce. V
naslednjem preizkusu bo tipkalo, ki je priključeno na GPIO-vrata, simuliralo tipko na
resničnem semaforju za pešce.