User manual

3.3 | Temperaturanzeige 51
00
1
voi
d
rg
b
Temp
(
int va
l)
00
2
{
00
3
int
g
reen, blue, red
;
00
4
005
if (val <= 10 & val >= -20
)
006
blue = ma
p
(val, -20, 10, 255, 0)
;
007
else blue = 0
;
00
8
009
if
(
va
l
>=
1
0 & va
l
<= 40
)
010
green = ma
p(
va
l
,
1
0, 40, 255, 0
);
0
1
1
else if (val >= -20 & val < 10) green = ma
p
(val, -20, 10, 0, 255)
;
01
2
else
g
reen = 0
;
01
3
01
4
if (val > 10 & val <= 40) red = map(val, 10, 40, 0, 255)
;
015
e
l
se re
d
= 0
;
01
6
01
7
analo
g
Write(RED, red)
;
0
1
8
analogWrite(GREEN, green)
;
01
9
analogWrite(BLUE, blue)
;
0
2
0
}
Die Anpassun
g
der LED-Helli
g
keiten wird in der Funktion
rg
bTemp
()
durch
g
eführt. Mithilfe des
map
-Befehls werden die Werte in passende
Byte-Werte
(
0-255
)
um
g
ewandelt und an der LED aus
g
e
g
eben. Dabei
steht das Blau für besonders kalte Temperaturen und hat einen Einfl uss
im Bereich von –20°C bis +10°C. Grün mischt im
g
anzen Temperaturbe
-
reich mit
,
hat aber ein Maximum beim Wert 10°C. Rot ist erst ab einem
Wert von +10°C zu fi nden und hat ein Maximum bei +40°C. Dadurch ist
eine intuitive Farbcodierun
g
g
eschaffen, anhand derer man die aktuelle
Temperatur abschätzen kann, zusätzlich zu der
g
enaueren Anzei
g
e im
seriellen Monitor.
10215-5 Lernpaket Internet of Things_02.indd 5110215-5 Lernpaket Internet of Things_02.indd 51 19.04.2016 12:17:2319.04.2016 12:17:23