User manual

73
Inicializacija gradnika root se ponovno sklada s prejšnjim programom, razlika je samo v
vsebinah pogovornega polja.
v = IntVar(); v.set(1)
Spremenljivke, ki se uporabljajo v pogovornih poljih Tk, je treba za razliko od običajnih
spremenljivk Python pred prvo uporabo deklarirati. Ti dve vrstici deklarirata spremenljivko v
kot celo število in jo na začetku nastavita na vrednost 1.
def LedEin():
e = v.get()
Sedaj se ponovno definira funkcija, ki se tako kot v prejšnjem primeru imenuje LedEin(),
vendar pa se tokrat ne uporablja samo za vklop LED, temveč začne LED-vzorec. Druge
funkcije LedAus() iz zadnjega primera tukaj ne potrebujemo. Prva vrstica nove funkcije
prebere vnos uporabnika iz spremenljivke Tk v in zapiše vrednost v spremenljivko Python e.
Kako vrednost prispe v spremenljivko v, boste izvedeli v nadaljevanju pri razlagi radijskega
gumba.
V odvisnosti od izbire uporabnika se začnejo tri različne programske zanke:
if e == 1:
for i in range(w):
for j in range(4):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
V prvem primeru se ena zanka petkrat ponovi in zaporedoma vklopi vsako izmed štirih LED,
pri čemer posamezna LED 0,2 sekunde sveti in se nato ponovno izklopi. Pet ponovitev in čas
utripanja 0,2 sekundi sta definirana s spremenljivkama w in t na začetku programa.
elif e == 2:
for i in range(w):
for j in range(4):
GPIO.output(LED[j], True)
time.sleep(t)
for j in range(4):
GPIO.output(LED[j], False)
time.sleep(t)
V drugem primeru se petkrat zaporedoma hkrati vklopijo vse štiri LED. Potem ko 0,2 sekundi
svetijo, se vse skupaj hkrati spet izklopijo.
else:
for i in range(w):
for j in range(4):
GPIO.output(LED[3-j], True); time.sleep(t)
GPIO.output(LED[3-j], False)
Tretji primer se sklada s prvim, vendar s to razliko, da se LED vklapljajo nazaj, s čimer
tekoča luč teče v obratni smeri.
Potem ko je funkcija definirana, se ustvarijo elementi grafičnega vmesnika.