User manual

Az első belső hurok a LED-eket egymás után késleltetéssel kapcsolja be. A hurok végén,
amely a
time.sleep(2*t) sor kiugrasztásáról ismerhető fel, a késleltetési idő dupláját várja ki a
hurok. Ez idő alatt az összes LED világít. Ezután elkezdődik egy újabb hurok, amely
visszaszámlál, és az egyik LED-et a másik után kapcsolja ki. Itt is a hurok végén, amikor már az
összes LED kialudt, a késleltetési idő dupláját várja ki a hurok, mielőtt a külső hurok még
egyszer elindítaná a teljes ciklust.
4. minta
Ha a felhasználó egy 4-est ad be, egy másik villogási minta kezdődik el, amelynél az összes
LED egyszerre villog, és nem hívja le őket egymás után a program.
Miután nem kapcsolható több GPIO-port egyszerre be- és ki egyetlen utasítással, itt is hurkokat
alkalmazunk, de a hurkon belül késleltetés nélkül. A négy LED közvetlenül egymás után
kapcsolódik be. Az emberi szem számára ez egyidejűnek látszik. Az első belső hurok végén a
program kivárja a kétszeres késleltetési időt, mielőtt az összes LED-et újra kikapcsolná.
A különböző világítási és sötétség-idő miatt különféle fényeffektusok jönnek létre villogófényben.
A villogás jobban észrevehető, ha a világítási ihosszabb, mint a sötét állapot ideje. A nagyon
rövid világítási idő viszonylag hosszú sötét állapot mellett villanófény effektust kelt.
5. minta
Ha a felhasználó egy 5-öst adott be, a LED-ek teljesen véletlenszerűen villognak.
Mivel itt nem alkalmazunk egymásba skatulyázott hurkokat, a hurkok többször futnak le. A w és
a
z változó többszörözése által mindegyik LED átlagosan annyiszor villog, mint az el
mintában.
A random.randint() funkció egy véletlenszámot ír be a j változóba. Ez a véletlenszám az első
paraméternél nagyobb vagy egyenlő, míg a második paraméternél kisebb vagy egyenlő, a
példánkban tehát a
0, 1, 2, 3 értékeket veheti fel.
A véletlenül kiválasztott LED bekapcsolódik, majd a késleltetési idő után ismét kikapcsolódik.
Ezután újraindul a hurok, és egy új LED választódik ki véletlenszerűen.
elif
e ==
"4":
for
i
in
range(w):
for
j
in
range(z):
GPIO.output(LED[j], True)
time.sleep(2*t)
for
j
in
range(z):
GPIO.output(LED[j], False)
time.sleep(t)
elif
e ==
"5":
for
i
in
range(w*z):
j
=
random.randint(0,z-1)
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
52