User manual
10.2.1 Így működik
Az elején ismét a szükséges könyvtárak importálását végezzük. A legutóbbi programhoz
képest a
time-könyvtár is köztük van, amelyre a LED-villogási effektusok várakozási időihez van
szükség.
Ezt követően a négy LED-hez készül egy lista. A megfelelő GPIO-portokat kimenetként
definiáljuk, és 0-ra állítjuk, hogy az összes LED kezdéskor legyen kikapcsolva.
w = 5; t = 0.2
Két változó a program két értékét határozza meg: egy minta ismétléseinek a w számát,
valamint egy minta
t villogási idejét. Mindkét értéket a programban való előfordulásakor is fixen
be lehetne írni. Ezen a módon azonban könnyebben lehet illeszteni őket, minthogy csak egy
helyen vannak definiálva.
]
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="Bitte Button klicken,
um
das Lauflicht zu
starten").pack()
for
txt,
m
in minta:
Radiobutton(root, text
=
txt,
variable = v, value = m).pack(anchor=W)
Button(root,
text="Start",
command=LedEin).pack(side=LEFT)
root.mainloop()
GPIO.cleanup()
GPIO.setmode(GPIO.BCM); LED = [4,18,23,24]
for
i
in
LED:
GPIO.setup(i,
GPIO.OUT,
initial=0)
muster =
[
("Lauflicht nach links",1), ("Blinken",2), ("Lauflicht nach rechts",3)
]
84