Instructions

45
Muste
r 4
H
at
de
r B
e
n
ut
z
e
r
e
in
e
4
ein
g
e
g
eben, startet ein anderes Blinkmuster. Jetzt blinken alle LEDs
g
leichzeiti
g
und
werden nicht nacheinander au
f
geru
f
en
.
el
if
e
== "4"
:
for i in range(w)
:
for j in range(z)
:
G
P
IO
.output(
LED
[j],
T
rue
)
time.s
l
eep(2*t
)
for j in range(z)
:
G
P
IO
.output(
LED
[j], Fa
l
se
)
time.sleep
(
t
)
Da nicht mehrere GPIO-Ports mit einer einzigen Anweisung au
f
einmal ein- oder ausgeschaltet werden können,
werden auch hier Schlei
f
en verwendet, allerdings ohne Zeitverzögerung innerhalb der Schlei
f
e. Die vier LEDs
wer
d
en unmitte
lb
ar nac
h
einan
d
er eingesc
h
a
l
tet. Für
d
as mensc
hl
ic
h
e Auge ersc
h
eint es g
l
eic
h
zei tig. Am En
d
e
der ersten inneren Schlei
f
e wartet das Programm die doppelte Verzögerungszeit, bevor alle LEDs wieder ausge-
sc
h
a
l
tet wer
d
en.
Durch unterschiedliche Leucht- und Dunkelzeiten lassen sich verschiedene E
ff
ekte bei Blinklichtern erzeugen.
B
l
in
k
en wir
d
e
h
er wa
h
rgenommen, wenn
d
ie Leuc
h
tzeit
l
änger a
l
s
d
ie Dun
k
e
l
zeit ist. Se
h
r
k
urze Leuc
h
tzeiten
bei vergleichsweise langen Dunkelzeiten erzeugen einen Blitzlichte
ff
ekt
.
Muster
5
Hat
d
er Benutzer eine
5
eingegeben, blinken die LEDs völlig zu
f
ällig.
el
if
e
== "
5
"
:
for i in range(w*z)
:
j = ran
d
om.ran
d
int(0,z-1
)
G
P
IO
.output(
LED
[j],
T
rue
)
time.s
l
eep(t
)
GPIO.output
(
LED
[
j
]
, False
)
Da hier keine verschachtelten Schlei
f
en eingesetzt werden, lassen wir die Schlei
f
e ö
f
ter durchlau
f
en. Durch
Mu
l
tip
l
i
k
ation
d
er Varia
bl
en
w
un
d
z
blinkt jede LED durchschnittlich so o
f
t wie im ersten Muster.
Die Fun
k
tion
r
andom.randint
()
schreibt eine Zu
f
allszahl in die Variable
j
. Diese Zu
f
allszahl ist grö
ß
er oder
g
l
eic
h
d
em ersten Parameter un
d
kl
einer o
d
er g
l
eic
h
d
em zweiten Parameter,
k
ann a
l
so in unserem Fa
ll
d
ie
W
erte
0
,
1
,
2
,
3
anne
h
men.
Die per Zu
f
all ausgewählte LED wird ein- und nach der Verzögerungszeit wieder ausgeschaltet. Danach startet
die Schlei
f
e neu, und eine neue LED wird per Zu
f
all ausgewählt
.
Ungü
l
tige Einga
be
Bei allen Programmen, die Benutzereingaben er
f
ordern, muss man Fehleingaben ab
f
angen. Gibt der Benutzer
etwas nicht Vorgesehenes ein, muss das Programm darau
f
reagieren
.
else:
print
(
"Ungültige Eingabe"
)
10145-5 Raspberry Pi verstehen und anwenden_01.indd 4510145-5 Raspberry Pi verstehen und anwenden_01.indd 45 30.06.2017 10:09:3330.06.2017 10:09:33