User manual

88
e = v.get()
t = 1.0/g.get()
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)
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)
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)
Label(root,
text="Klik op de button, om het looplicht te
starten").pack()
for txt, m in patroon:
Radiobutton(root, text = txt, variable = v, value = m).pack(anchor=W)
Label(root, text="snelheid").pack()
Scale(root, orient=HORIZONTAL, from_ = 1, to = 10, variable = g).pack()
Button(root, text="Start", command=LedEin).pack(side=LEFT)
root.mainloop()
GPIO.cleanup()
10.3.1 Zo werkt het
De initialisatie van de bibliotheken en GPIO-poorten alsmede de definitie van de lijst voor de drie
knipperpatronen komen overeen met het voorafgaande programma. De definitie van de variabelen
t voor de
knippertijd vervalt, omdat deze later van de schuifregelaar wordt afgelezen.
g = IntVar(); g.set(5) Aanvullend op de Tk-variabelen v, waarin het gekozen knipperpatroon wordt
opgeslagen, wordt een andere in interger-variabele
g voor de snelheid gedeclareerd. Deze bevat een
startwaarde van
5, die overeenkomt met de gemiddelde waarde van de schuifregelaar.
def LedEin():
e = v.get(); t = 1.0/g.get()
De functie, die de LED's laat knipperen, komt eveneens overeen met het vorige voorbeeld, echter met een
verschil. De variabele
t voor de knipperduur wordt bepaald uit de waarde van de schuifregelaar.