Instructions

41
G
P
IO
.output(
LED
[j], Fa
l
se
)
time.s
l
eep(t
)
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
)
G
P
IO
.output(
LED
[j], Fa
l
se
)
else:
p
rint ("
U
ngü
l
tige
E
inga
b
e"
)
exce
p
t Key
b
oar
dI
nterru
p
t
:
GPIO.cleanu
p()
5
.1
So
fun
k
tionie
r
t
es
Die ersten Zeilen des Pro
g
ramms mit der De
nition der UTF-8-Codierun
g
und dem Import der notwendi
g
en
Bibliotheken sind bereits aus
f
rüheren Experimenten bekannt. Hier wird zusätzlich die Bibliothek r
a
n
dom
importiert, um ein zu
f
älliges Blinkmuster zu erzeugen
.
Bei der Entwicklung dieses Programms wurde darau
f
geachtet, dass es möglichst vielseitig nutzbar ist, sich
also problemlos au
f
mehr als vier LEDs erweitern lässt. Zu einem guten Programmierstil gehört heute eine sol
-
c
h
e F
l
exi
b
i
l
ität. Am Beispie
l
d
es Rasp
b
erryPi
l
assen sic
h
d
erart programmierte Programme nic
h
t nur um neue
GPIO-Ports erweitern, sondern auch leicht au
f
andere GPIO-Ports umschreiben, wenn dies hardware technisch
notwen
d
ig ist.
LED =
[
4,18,23,24
]
Für die LEDs wird wieder eine Liste mit GPIO-Portnummern de
niert, damit man diese
Ports nur an einer Stelle im Programm
f
est eintragen muss
.
f
o
r i in
LED:
GPIO.setup
(
i, GPIO.OUT, initial=0
)
Anstatt wie in
f
rüheren Programmen die GPIO-Ports der LEDs einzeln zu initialisieren, läu
f
t diesmal eine
fo
r
-
Sc
hl
e
i
fe
übe
r
d
i
e
Li
ste
LED
. D
e
r
Sc
hl
e
i
fe
nz
ä
hl
e
r
i
nimm
t
n
ache
in
a
n
de
r
d
i
e
e
inz
el
n
e
n W
e
r
te
aus
de
r Li
ste
a
n
— im Beispiel die GPIO-Portnummern der LEDs — und wird nicht ein
f
ach hochgezählt wie in den bisher verwen
-
dete
n
fo
r-Schlei
f
en. Au
f
diese Weise können beliebig lange Listen abgearbeitet werden. Die Länge der Liste
muss
b
ei
d
er Entwic
kl
ung
d
es Programms nic
h
t einma
l
b
e
k
annt sein
.
Die vier GPIO-Ports
f
ür die LEDs werden als Ausgänge de
niert und au
f
0
gesetzt, um eventuell aus
f
rüheren
Experimenten
l
euc
h
ten
d
e LEDs a
b
zusc
h
a
l
ten.
z = len
(
LED
)
; w = 5; t = 0.
2
Um das Programm allgemeingültig und leicht veränderbar zu halten, werden jetzt noch drei Variablen de
-
n
i
ert:
z
Z
a
hl
de
r LED
s
D
i
e
Anz
a
hl
de
r LED
s
wir
d
mi
t
hilf
e
de
r F
u
nk
t
i
o
n len
()
auto
m
at
i
sc
h
aus
de
r Li
ste
LED
ü
b
ernommen.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 4110145-5 Raspberry Pi verstehen und anwenden_01.indd 41 30.06.2017 10:09:3230.06.2017 10:09:32