User manual

84
]
root = Tk(); root.title("LED"); v = IntVar(); v.set(1)
def LedEin():
e = v.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 toets, om het looplicht te
starten").pack()
for txt, m in voorbeeld:
Radiobutton(root, text = txt,
variable = v, value = m).pack(anchor=W)
Taste(root, text="Start", command=LedEin).pack(side=LEFT)
root.mainloop()
GPIO.cleanup()
10.2.1 Zo werkt het
In het begin worden opnieuw de noodzakelijke bibliotheken geïmporteerd. Als aanvulling op het laatste
programma is ook de
time-bibliotheek aanwezig, die nodig is voor de wachttijden bij de LED-
knippereffecten.
GPIO.setmode(GPIO.BCM); LED = [4,18,23,24]
for i in LED:
GPIO.setup(i, GPIO.OUT, initial=0)
Aansluitend wordt een lijst gedefinieerd voor de vier LED's. De betreffende GPIO-poorten worden als
uitgangen gedefinieerd en op 0 ingesteld, opdat alle LED's in het begin zijn uitgeschakeld.
w = 5; t = 0.2
Twee variabelen leggen twee waarden in het programma vast: het aantal herhalingen w van een patroon
alsmede de knippertijd
t. Het is mogelijk dat de beide waarden ook bij elk keer dat ze optreden vast in het
programma worden ingevoerd. Op deze manier kunnen ze echter gemakkelijker worden aangepast, omdat
ze slechts op één plaats zijn gedefinieerd.