Instructions
33
for i in range
(
10
)
:
J
e
d
e
fo
r-Schlei
f
e benöti
g
t einen Schlei
f
enzähler, eine Variable, die bei
j
edem
S
chlei
f
en durchlau
f
einen neuen Wert annimmt. Für ein
f
ache Schlei
f
enzähler hat sich in allen Pro
g
rammier-
sprac
h
en
d
er Varia
bl
enname
i
einge
b
ürgert. Je
d
er an
d
ere Name ist natür
l
ic
h
auc
h
mög
l
ic
h
. Dieser Wert
k
ann
w
ie jede andere Variable innerhalb der Schlei
f
e abge
f
ragt werden, was hier aber nicht nötig ist.
De
r
Pa
r
a
m
ete
r
range in der Schlei
f
e gibt an, wie o
f
t die Schlei
f
e durchläu
f
t, genauer gesagt, welche Werte der Schlei
f
enzähler
annehmen kann. In unserem Beispiel läu
f
t die Schlei
f
e zehnmal. Der Schlei
f
enzähler
i
beko
mm
t
dabe
i W
e
r
te
v
o
n
0
b
i
s
9
.
Innerhalb der Schlei
f
e wird die neue blaue LED ein
g
eschaltet und nach 0,05 Sekunden wieder
aus
g
eschaltet. Nach weiteren 0,05 Sekunden ist ein Schlei
f
endurchlau
f
zu Ende, und der nächste startet wie-
der mit dem Einschalten der LED. Au
f
diese Weise blinkt sie zehnmal, was ins
g
esamt 1Sekunde dauert
.
t
ime.sleep
(
0.6
)
Mit einer Verzö
g
erun
g
von 0,6 Sekunden nach dem letzten Schlei
f
endurchlau
f
wird der
normale Schaltz
y
klus der Verkehrsampel
f
ort
g
esetzt, indem die
g
elbe LED zusätzlich zur bereits leuchtenden
roten ein
g
eschaltet wird. So weit nicht viel Neues. Richti
g
interessant wird die Fu
ßg
än
g
erampel, wenn sie nicht
automatisch läu
f
t, sondern erst durch einen Tastendruck
g
estartet wird, wie das bei vielen Fu
ßg
än
g
er ampeln
der Fall ist. Im nächsten Experiment wird ein an einem GPIO-Port an
g
eschlossener Taster den Druckknop
f
an
einer echten Fu
ßg
än
g
erampel simulieren
.
4
.2 T
aste
r
am
G
PI
O
-A
nschluss
GPIO-Ports
k
önnen nic
h
t nur Daten ausge
b
en, zum Beispie
l
ü
b
er LEDs, son
d
ern auc
h
zur Dateneinga
b
e ver
-
w
endet werden. Dazu müssen sie im Programm als Eingang de
fi
niert werden. Zur Eingabe verwenden wir im
nächsten Projekt einen Taster, der direkt au
f
die Steckplatine gesteckt wird. Der Taster hat vier Anschluss pins,
w
obei je zwei gegenüberliegende (großer Abstand) miteinander verbunden sind. Solange die Taste gedrückt
w
ir
d
, sin
d
a
ll
e vier Ansc
hl
üsse miteinan
d
er ver
b
un
d
en. Im Gegensatz zu einem Sc
h
a
l
ter rastet ein Taster nic
h
t
ein. Die Verbindung wird beim Loslassen so
f
ort wieder getrennt. Liegt au
f
einem als Eingang de
fi
nierten GPIO-
Port ein +3,3-V-Signa
l
an, wir
d
es a
l
s
l
ogisc
h
T
r
ue
b
zw.
1
ausgewertet. T
h
eoretisc
h
k
önnten Sie a
l
so ü
b
er einen
Taster den jeweiligen GPIO-Port mit dem +3,3-V-Anschluss des RaspberryPi ver binden, was Sie aber au
f
keinen
F
a
ll
tu
n
dü
r
fe
n! D
e
r
G
PI
O
-P
o
r
t
wir
d
dadu
r
c
h
übe
rl
astet
.
Sc
hli
eße
n
S
i
e
imm
e
r
e
in
e
n 1-k
O
hm-
Sc
h
ut
zwi
de
r
sta
n
d
zwischen einem GPIO-Eingang und dem +3,3-V-Anschluss an, um zu verhindern, dass zu viel Strom au
f
den
G
PI
O
-P
o
r
t
u
n
d
da
mi
t
auf
de
n Pr
o
z
esso
r
fl
i
eßt
.
A
bb
. 4.2:
Taste
r mi
t
Sc
h
ut
zwi
de
r
sta
n
d
an einem GPIO-Ein
g
an
g.
In den meisten Fällen funktioniert diese simple Schaltung bereits, allerdings hätte der GPIO-Port bei offenem
Taster keinen eindeutig defi nierten Zustand. Wenn ein Programm diesen Port abfragt, kann es zu zufälligen
Ergebnissen kommen. Um das zu verhindern, schließt man einen vergleichsweise sehr hohen Widerstand —
üblicherweise 10 kOhm —
g
e
g
en Masse. Dieser so
g
enannte Pull-down-Widerstand zi
e
h
t
de
n
Status
des
G
PI
O-
Ports bei geöffnetem Taster wieder nach unten auf 0V. Da der Widerstand sehr hoch ist, besteht, solange der
Taster gedrückt wird, auch keine Kurzschlussgefahr. Im gedrückten Zustand des Tasters sind +3,3V und die
Masseleitun
g
direkt über diesen Widerstand verbunden
.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 3310145-5 Raspberry Pi verstehen und anwenden_01.indd 33 30.06.2017 10:09:3130.06.2017 10:09:31