Instructions
16 | Digitalvolt meter mit Bargrafanzeige undUSB-Schnittstelle 81
09
1
void draw_bargraph(byte percent)092
{
093
b
y
te i, c1, c2
;
094
09
5
lcd.setCursor(0
,
1)
;
096
0
9
7
p
ercent = ma
p
(
p
ercent, 0, 100, 0, 80)
;
098
0
9
9
c1 = percent / 5
;
100
c2 =
p
ercent % 5
;
101
1
02
for(i = 0
;
i < c1
;
++i
)
103
lcd.write(b
y
te(5))
;
104
1
0
5
lcd.write(c2)
;
106
10
7
for(i = 0
;
i < 16 – (c1 + (c2 ? 1 : 0))
;
++i
)
108
lcd.write(b
y
te(0)); 109
}
110
11
1
void setup(
)
112
{
113
analo
g
Write(9, 200);114
11
5
lcd.createChar(0, M
y
Char0)
;
116
lcd.createChar(1, M
y
Char1)
;
117
lcd.createChar(2, M
y
Char2)
;
118
lcd.createChar(3, M
y
Char3)
;
119
lcd.createChar(4, M
y
Char4)
;
120
lcd.createChar(5, M
y
Char5)
;
121
lcd.be
g
in(16, 2)
;
122
12
3
Serial.be
g
in(19200)
;
124
}
125
12
6
void loop(
)
127
{
128
double percent
;
129
float volta
g
e
;
130
b
y
te hi
g
hb
y
te, lowb
y
te, crc
;
131
int adc
_
raw = adc
_
AVG(ADC
_
CHANNEL)
;
132
1
33
volta
g
e = (5.0 / 1024.0) * adc_raw
;
134
1
35
lcd.setCursor(0
,
0)
;
136
10174-5 Conrad Arduino Lernpaket_09.indd 8110174-5 Conrad Arduino Lernpaket_09.indd 81 14.07.2015 08:10:3414.07.2015 08:10:34