Instructions
96 19 | Websynchrone Uhr
19
0
52
if
(
Sekunde < 6
0
)
{
053
054 if
(
Sekunde < 10
)
lcd.
p
rin
t
(
"0")
;
0
55
l
c
d
.prin
t
(
Se
k
un
d
e
);
}
056
}
057
0
58
059 Serial.flus
h
()
;
0
6
0
dela
y
(100)
;
}
06
1
Die Grundstruktur des Pro
g
ramms entspricht der der normalen Uhr (RTC),
die wir am Anfan
g
des Lernpakets bereits kennen
g
elernt haben.
Diesma
l
emp
f
an
g
e
n
wir
im
V
B.
N
ET-Pro
g
ram
m
k
eine Daten
,
son
d
ern sen-
den Daten vom PC an den Arduino™. Die Daten entsprechen Stunden,
Minuten und Sekunden in Form von Bytes. Diese lesen wir mit Arduino™
i
mmer e
i
n
,
wenn
S
erial.availabl
e
()
g
rößer drei ist. Das kennzeichnet,
dass drei Bytes im Empfan
g
spuffer anstehen. Mit
S
erial.rea
d
()
lesen
wir systematisch die drei ankommenden Bytes ein und ordnen sie den
A
rduino™-Variablen für Stunde
,
Minute und Sekunde zu. Das
w
ar
‘s
auch
s
chon auf der Arduino™-Seite. Betrachten wir noch die Sendefunktion im
V
B.
N
ET-Pro
g
ram
m
. Hierzu verwenden wir einen
T
imer
,
der auf 500ms
ein
g
estellt is
t
.
001 Private Sub Timer1_Tick(sender
A
s S
y
stem.Ob
j
ect, e
A
s
S
y
stem.EventAr
g
s) Handles Timer1.Tic
k
002
If SerialPort1.IsOpen The
n
003
00
4
SerialPort1.Write
(
Chr
(
Now.Hour
)
& Chr
(
Now
.
005
Minute
)
& Chr
(
Now.Second
))
La
b
e
l1
.Text = Now.Hour & ":" & Now.Minute &006
":" & Now.Secon
d
007
End008 If
End
00
9
S
u
b
Der Timer könnte auch auf 1.000ms ein
g
estellt werden. Es kann dann
aber vorkommen, dass die Sekundenaus
g
abe auf
de
m L
C
D
s
t
e
ll
e
nw
e
i-
s
e ruckelt, da sich die Daten überschneiden. Besser ist, die U
p
datezeit
e
tw
as
schneller
oder
r
eben auf
g
enau die Hälfte einzustelle
n
,
um die Aus-
g
abe fl üssi
g
er erscheinen zu lassen
.
10174-5 Conrad Arduino Lernpaket_09.indd 9610174-5 Conrad Arduino Lernpaket_09.indd 96 14.07.2015 08:10:3714.07.2015 08:10:37