Instructions
75
1
0
.2.1
So
fun
k
tionie
r
t
es
Am An
f
an
g
werden wieder die notwendi
g
en Bibliotheken importiert. In Er
g
änzun
g
zum letzten Pro
g
ramm ist
auch
d
i
e
ti
m
e
-Bibliothek dabei, die
f
ür die Wartezeiten bei den LED-Blinke
ff
ekten benötigt wird.
G
P
IO
.setmo
d
e
(G
P
IO
.B
C
M
)
LED
= [4,18,23,24]
f
o
r i in
LED:
GPIO.setup
(
i, GPIO.OUT, initial=0
)
Anschlie
ß
end wird eine Liste
f
ür die vier LEDs de
fi
niert. Die entsprechenden GPIO-Ports werden als Ausgänge
de
fi
niert und au
f
0 gesetzt, damit alle LEDs am An
f
ang ausgeschaltet sind
.
w
=
5
t
=
0.2
Zwei Variablen legen zwei Werte im Programm
f
est: die Anzahl der Wiederholungen
w
eines Musters sowie
d
ie
B
l
in
k
zeit
t
. Beide Werte könnten auch bei
j
edem Vorkommen im Pro
g
ramm
f
est ein
g
etra
g
en werden. Au
f
diese
Weise lassen sie sich aber leichter anpassen, da sie nur an einer Stelle de
fi
niert sind
.
muster =
[
(
"Lauflicht nach links",1
)
,
(
"Blinken",2
)
,
(
"Lauflicht nach rechts",3
)
]
Die Texte der drei Muster, die zur Auswahl stehen, werden in einer besonderen Listen
f
orm de
fi
niert. Jedes der
d
rei Listene
l
emente
b
este
h
t aus einem Wertepaar,
j
ewei
l
s wie
d
erum
b
este
h
en
d
aus
d
em an
g
ezei
g
ten Text un
d
einem Za
hl
enwert,
d
er später
b
ei
d
er Auswa
hl
d
es
j
ewei
l
i
g
en Ra
d
io
b
uttons zurüc
kg
e
g
e
b
en wer
d
en so
ll.
r
oot =
Tk()
r
oot.title
(
"LED"
)
Die Initia
l
isierung
d
es
root
-Widgets verläu
f
t erneut analog zum vorherigen Programm, nur die Inhalte des
Dialog
f
elds unterscheiden sich
.
v
=
I
ntVar
()
v.set
(
1
)
Variablen, die in Tk-Dialog
f
eldern genutzt werden, müssen im Gegensatz zu normalen Python-Variablen vor der
ersten Verwendung deklariert werden. Diese beiden Zeilen deklarieren eine Variable
v
als Integer und setzen
sie am Anfang auf den Wert
1
.
d
ef
L
e
dE
in
():
e = v.get
()
Jetzt wird wieder eine Funktion defi niert, die wie im letzten Beis
p
iel LedEin
()
heißt
,
diesmal aber nicht nur
eine LED einschaltet, sondern ein LED-Muster startet. Die zweite Funktion aus dem letzten Beis
p
iel, LedAus
()
,
wird hier nicht benötigt. Die erste Zeile der neuen Funktion liest die Benutzereingabe aus der Tk-Variablen
v
und schreibt den Wert in die Python-Variable
e
. Wie der Wert genau in die Variable
v
gelangt, erfahren Sie im
Folgenden weiter unten bei der Defi nition der Radiobuttons
.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 7510145-5 Raspberry Pi verstehen und anwenden_01.indd 75 30.06.2017 10:09:3830.06.2017 10:09:38