User manual
42
for j in range(z):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
V primeru enostavne ciklične tekoče luči ta zanka zaporedoma steče enkrat za vsako LED
na seznamu. Koliko LED to je, ste shranili na začetku programa v spremenljivki z. Vklopi se
LED s številko trenutnega stanja zančnega števca. Nato program počaka, da preteče čas, ki
ste ga shranili na začetku v spremenljivki t, nato pa ponovno izklopi LED. Takoj nato se
začne naslednji prehod zanke z naslednjo LED. Zunanja zanka petkrat ponovi celotno
notranjo zanko.
Vzorec št. 2
Ko uporabnik vnese številko 2, se začne podobna zanka. Pri tem pa se LED ne preštevajo
samo v eni smeri, temveč se na koncu tekoče luči ponovno vrnejo v obratnem vrstnem redu.
Luč teče izmenično naprej in nazaj.
elif e == "2":
Nadaljnje poizvedbe po prvi uporabljajo poizvedbo elif, kar pomeni, da se izvedejo samo
takrat, ko je prejšnja poizvedba vrnila rezultat False.
for i in range(w):
for j in range(z):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
for j in range(z-1, -1, -1):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
Tudi tukaj se uporabljajo zanke, ki se nahajajo ena v drugi. Po prvi notranji zanki, ki se
sklada s prej opisanim delom programa, torej potem ko sveti LED s številko 3, se začne
dodatna zanka za tekočo luč v nasprotni smeri. Elementi s seznama so vedno oštevilčeni
tako, da se začnejo z 0. Četrta LED ima torej številko 3.
Da zanka teče nazaj, bomo uporabili nadgrajeno sintakso for...range(). Namesto vnosa
samo ene končne vrednosti je možno navesti tudi tri parametre: začetna vrednost, vrednost
koraka in končna vrednost. V našem primeru so to:
Začetna
vrednost
z-
1
Spremenljivka z vsebuje število LED. Ker se oštevilčenje elementov na
seznamu začne z 0, ima zadnja LED število z-1.
Vrednost
koraka
-1
Pri vrednosti koraka -1 vsak prehod zanke šteje eno število nazaj.
Končna
vrednost
-1
Končna vrednost v zanki je vedno prva vrednost, ki ni dosežena. Pri prvi
zanki, ki šteje naprej, se zančni števec začne pri 0 in v našem primeru
doseže vrednosti 0, 1, 2, 3 za naslavljanje LED. Vrednost 4 pri štirikratnem
prehodu zanke ni dosežena. Zanka, ki šteje nazaj, se mora končati z 0 in
tako ne sme doseči vrednosti -1 kot prve vrednosti.
Opisana druga zanka poskrbi, da štiri LED zaporedoma utripajo v obratni smeri. Nato
zunanja zanka začne celoten cikel na novo, ki v tem primeru traja dvakrat tako dolgo kot v
prvem delu programa, saj vsaka LED dvakrat utripa.