User manual

27
20. Ta
g
Heute im Adventskalender
•20-MOhm-Widerstand
(
Rot-Schwarz-Blau
)
Zahlenspiel
Das Projekt des 20. Tages ist ein ein
f
aches Ratespiel, in dem eine vom
Pro
g
ramm zu
f
älli
g
g
ewählte Zahl vom Spieler in mö
g
lichst weni
g
en
S
chritten erraten werden soll. Zur Eingabe der Tipps werden drei
Knetekontakte verwendet. Der rechte erhöht den Tipp schrittweise um
1, der mittlere um 10. Um auch kleinere Zahlen eingeben zu können,
w
ird der Tipp automatisch wieder auf 0 gesetzt, wenn er den Wert
100 ü
b
erstei
g
t. Durc
h
Berü
h
run
g
d
es
l
in
k
en Knete
k
onta
k
tes wir
d
d
er
ein
g
estellte Tipp aus
g
elöst und bewertet. Um die drei Knetekontakte
und die zu
g
ehöri
g
en Widerstände auf dem Steckbrett unterzubrin
g
en,
verwenden wir diesmal einen anderen Schaltun
g
saufbau, bei dem die
obere Kontaktschiene in der Y-Achse für die +5-V-Stromversor
g
un
g
und
ni
c
h
t
wi
e
b
i
s
h
e
r f
ü
r
d
i
e
M
asse
v
e
rw
e
n
det
wir
d
. D
e
r
d
ri
tte
Kn
ete
k
o
n
ta
k
t
(im Bild mit einem Minuszeichen markiert)ist zur Herstellun
g
der
Masseverbindun
g.
Baute
il
e:
1x Steckbrett
,
1x LCD-Modul
,
1x Potenziometer 15kOhm
,
1x
5
60-Ohm-Widerstand (Grün-Blau-Braun)
,
3x 20-MOhm-Widerstand (Rot
-
Schwarz-Blau), 4x Knetekontakt, 11x Verbindun
g
skabel, 8x isolierte Draht
-
brücke (unterschiedliche Län
g
en)
D
as
P
rogramm
Nachdem die drei GPIO-Pins
f
ür die Knetekontakte initialisiert wurden,
setzt
d
as Programm vier Varia
bl
en:
z
ist die gesuchte Zahl zwischen 1 und 99. Bei dieser Variable ist au
f
d
er Pa
l
ette Varia
bl
e
n
das Häkchen zur Anzeige au
f
der Scratch-Bühne
a
usgesc
h
a
l
tet,
d
amit man
d
ie
geheime Zahl nicht au
f
dem
Bi
ld
sc
h
irm sie
h
t
.
r
legt die Anzahl der gespielten
Runden
f
est und beginnt bei 0
.
t
bezeichnet den aktuel-
t
l
en Ti
pp
. Diese Varia
bl
e wir
d
a
n
f
angs au
f
50 gesetzt, den Mittelwert des möglichen Zahlenbereichs
.
l
b
ezeic
h
net
d
en
l
etzten Tipp,
d
er a
l
s Ric
h
twert in
d
er näc
h
sten Run
d
e weiter
h
in angezeigt wir
d.
In
d
er unteren Zei
l
e
d
es LCD-Mo
d
u
l
s wir
d
ü
b
er
d
ie Varia
bl
e
l
c
d1
eine Beschreibung für die drei
Knetekontakte angezeigt. Die Hauptschlei
f
e des Spiels läu
f
t so lange, bis der aktuelle Tipp
t
gleich
t
der Zu
f
allszahl
z
i
st
.
Je nachdem, ob die gesuchte Zahl
z
kleiner oder grö
ß
er als der letzte Tipp
l
ist
,
wird eine
e
ntsprechende Zeichen
f
olge gebildet, die den letzten Tipp in der oberen Zeile des LCD-Moduls
links anzeigt. Diese wird in der Variablen x gespeichert. Anschlie
ß
end wartet eine innere
Programmschlei
f
e darau
f
, dass der Benutzer den Knetekontakt
E
n
ter
berührt und damit einen Ti
pp
a
bgibt. In dieser Schlei
f
e werden die beiden anderen Knetekontakte ständig abge
f
ragt, die Zahl
e
ingestellt und zusammen mit dem in x gespeicherten letzten Tipp in der oberen Zeile des LCD
-
Moduls angezeigt. Damit die Zahlen nicht zu schnell durchlau
f
en, wenn man den Kontakt einmal
e
twas länger berührt, ist in jedem Schleifendurchlauf eine Wartezeit von 0,1 Sekunden eingebaut
.
W
u
r
de
de
r Kn
eteko
n
takt
E
n
ter
b
erü
h
rt, wir
d
nur
d
ann ein Tipp ausge
l
öst un
d
eine neue
Spie
l
run
d
e gestartet, wenn sic
h
d
er Tipp vom
l
etzten untersc
h
ei
d
et. Damit wir
d
ver
h
in
d
ert,
d
ass
d
er Run
d
enzä
hl
er in
d
ie Hö
h
e sc
h
ne
ll
t, wenn man
d
en Konta
k
t einma
l
etwas
l
änger
b
erü
h
rt. Hat
der Spieler die richti
g
e Zahl erraten, wird die Hauptschlei
f
e des Spiels beendet und in der oberen
Zei
l
e
d
es LCD-Mo
d
u
l
s
d
ie gesuc
h
te Za
hl
angezeigt. Die untere Za
hl
zeigt
d
ie Anza
hl
d
er Versuc
h
e,
d
i
e
aus
de
m R
u
n
de
nz
ähle
r
r
übe
rn
o
mm
e
n wir
d
.
S
tarten Sie auch
f
ür dieses Projekt in einem Kommandozeilen
f
enster das Python-Pro-
gramm zur Steuerung
d
es LCD-Mo
d
u
l
s mit Scratc
h
:
py
thon d
i
spla
y
.p
y
2
0. Ta
g
LC
D-M
odu
l mi
t
d
r
e
i Kn
ete
k
o
n
ta
k
ten
Das Programm 20spie
l
A
nzeige bei Spielende
10214-8 Raspberry Adventskalender 2016_03.indd 2710214-8 Raspberry Adventskalender 2016_03.indd 27 28.04.2016 15:33:5728.04.2016 15:33:57