]
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
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
alsmede de knippertijd
programma worden ingevoerd. Op deze manier kunnen ze echter gemakkelijker worden aangepast, omdat
ze slechts op één plaats zijn gedefinieerd.
84
-bibliotheek aanwezig, die nodig is voor de wachttijden bij de LED-
time
. Het is mogelijk dat de beide waarden ook bij elk keer dat ze optreden vast in het
t
van een patroon
w