User manual
36
je UTF-8. Gre za kodiranje, ki deluje v več računalniških okoljih in se pri prvih 128 znakih
popolnoma sklada z ASCII, s čimer je združljivo navzdol s skoraj vsemi sistemi, ki prikazujejo
besedila. Kodiranje se vnese v vrstico s komentarjem. Vseh vrstic, ki se začnejo z znakom #,
tolmač Python ne interpretira. Kodiranje, ki se mora vedno nahajati čisto na začetku
programa, Python Shell da navodila, kako naj prikazuje znake, vendar ne gre za dejansko
programsko navodilo. Na ta način lahko v programsko kodo vnašate tudi poljubne lastne
komentarje.
Komentarji v programih
Ko pišemo program, kasneje pogosto več ne vemo, kaj smo si pri določenih programskih
navodilih milsili. Programiranje je ena izmed najbolj kreativnih dejavnosti, ki jih poznamo, saj
brez omejitev, ki jih predstavljajo materiali in orodja, samo iz lastnih idej nekaj ustvarimo.
Prav pri programih, ki jih mora tudi druga oseba razumeti ali jih celo nadalje obdelati, so
pomembni komentarji. Vzorčni programi ne vsebujejo komentarjev, tako da programska koda
ostane pregledna. Vsa programska navodila so izčrpno opisana.
Pri programih, ki jih sami objavljamo, se vedno pojavi vprašanje: Komentarji v maternem
jeziku ali v angleščini? Pri komentarjih v maternem jeziku se vsi tujci pritožujejo nad
nerazumljivim jezikom, angleških komentarjev tudi sami enkrat več ne razumemo, Britanci pa
se posmehujejo slabi angleščini.
taster = 4
Ampel=[4,18,23,24,25]
V namen enostavnosti smo na seznam za tipkalo dodali dodatni element s številko 4 in
GPIO-vrata 25. Na ta način lahko tudi enostavno izberemo druga GPIO-vrata za tipkalo, saj
je številka teh vrat, tako kot številka GPIO-vrat pri LED, vnesena samo na tem enem mestu v
programu.
GPIO.setup(Ampel[taster], GPIO.IN)
GPIO-vrata tipkala definiramo kot vhod. Ta definicija prav tako poteka prek GPIO.setup,
vendar tokrat s parametrom GPIO.IN.
print ("pritisnite tipkalo za vklop utripajoče luči za pešce, Ctrl+C
zaključi program")
Pri zagonu program prikazuje razširjeno sporočilo, ki sporoča, da mora uporabnik pritisniti
tipkalo.
while True:
if GPIO.input(Ampel[taster])==True:
Znotraj neskončne zanke je sedaj vstavljena poizvedba. Naslednja navodila se izvedejo šele
takrat, ko GPIO-vrata 25 sprejmejo vrednost True, torej ko uporabnik pritisne tipkalo. Do
tega trenutka ostane semafor v svoji zeleni fazi. Nadaljnji potek zanke se v bistvu sklada s
potekom zadnjega programa. Semafor preklopi prek rumene na rdečo, utripajoča luč
desetkrat utripne. Nato semafor spet preklopi iz rdeče prek rumene na zeleno.
time.sleep(2)
V tem programu obstaja majhna razlika. Zelena faza, ki traja 2 sekundi, je sedaj vstavljena
na koncu zanke in ne več na začetku. Kljub temu se uporabi enkrat pri vsakem prehodu
zanke, s to razliko, da se cikel semaforja začne takoj in brez zakasnitve, ko pritisnete tipkalo.
Za preprečitev, da zelena faza skoraj izpade, ko tipkalo ponovno pritisnete takoj po rumeni
fazi, je ta zakasnitev sedaj vstavljena na koncu zanke.