12
N
a poprzednich stronach zapoznaliÊmy si´ z instrukcjà kon-
troli wyÊwietlacza z komputera PC. Teraz zobaczymy, jak
wykorzystaç sam wyÊwietlacz do pomiaru napi´cia baterii
za pomocà programu w j´zyku C-like. Stanie si´ to mo˝liwe po
pod∏àczeniu – za pomocà do∏àczonych do numeru 67 przewodów
p∏ytki testowej – dwóch biegunów testowanej baterii do gniazd z∏à-
cza zasobnika, oznaczonych jako GND (biegun ujemny baterii) i wej-
Êcie analogowe 1 (biegun dodatni). Trzeba podkreÊliç, ˝e testowa-
ne baterie nie powinny odznaczaç si´ napi´ciem nominalnym wi´k-
szym od 3 V – jest to bowiem maksymalna wartoÊç, jakà mo˝na
podaç na wejÊcia z∏àcza.
PROGRAM TESTER
Musisz wiedzieç, ˝e kod programu T
Te
esstte
err rozpoczyna si´ deklara-
cjami #
#iin
nccllu
ud
de
e, które umo˝liwiajà importowanie z cc--lliik
ke
e..h
h i rro
ob
bo
ott..h
h.
Nast´pnie opisane jest zachowanie T
Te
esstte
errB
Ba
atte
erriiii i funkcja
o
od
dn
no
ow
wW
WyyÊÊw
wiie
ettlla
acczz. Potem nast´puje kod zachowania M
Ma
aiin
n, roz-
poczynajàcy si´ od domyÊlnej llccd
d_
_cclle
ea
arr, czyli „czyszczenia” ekranu.
M
Ma
aiin
n uruchomia si´ po w∏àczeniu T
Te
esstte
errB
Ba
atte
erriiii, który za pomocà
protoko∏u magistrali I2C odczytuje wielkoÊç dostarczonà przez wej-
Êcie analogowe 1 zasobnika. Alternatywà jest skorzystanie z funk-
cji zasobów C-like n
ne
ew
w_
_vva
allu
ue
e =
= g
ge
ett((a
an
na
allo
og
g_
_iin
n))..p
piin
n_
_1
1; zwiàzanej
z odczytem wartoÊci napi´cia na wejÊciach analogowych. Tak czy
inaczej, jeÊli odczytana wielkoÊç ró˝ni si´ od zmierzonej uprzednio,
wiadomoÊç ta poka˝e si´ na wyÊwietlaczu. Zajmuje si´ tym funk-
cja o
od
dn
no
ow
wW
WyyÊÊw
wiie
ettlla
acczz, która konwertuje wielkoÊç z wejÊcia ana-
logowego i „zapisuje” jà na wyÊwietlaczu w postaci liczby dzie-
si´tnej.
D
Dzzii´
´k
kii w
wy
yp
po
ossa
a˝˝e
en
niiu
u w
w rró
ó˝˝n
ne
e n
na
arrzz´
´d
dzziia
a p
prro
og
grra
am
mo
ow
wa
an
niia
a ii--D
D0
01
1 m
mo
o˝˝e
e p
pe
e∏∏n
niiçç rro
ozzm
ma
aiitte
e
ffu
un
nk
kccjje
e.. W
Wy
ysstta
arrcczzy
y o
od
dp
po
ow
wiie
ed
dn
nii k
ko
od
d w
w jj´
´zzy
yk
ku
u C
C--lliik
ke
e ii d
dw
wa
a p
prrzze
ew
wo
od
dy
y,, a
ab
by
y zzb
bu
ud
do
ow
wa
açç
m
miie
errn
niik
k n
na
ap
pii´
´cciia
a b
ba
atte
erriiii..
Z∏àcze interfejsu umieszczonego
na zasobniku z p∏ytkà testowà.
Aby program Tester dzia∏a∏
prawid∏owo, trzeba pod∏àczyç
(na przyk∏ad za pomocà przewodów)
gniazdo GND (pierwsze od góry)
do ujemnego bieguna testowanej
baterii, zaÊ gniazdo wejÊcie
analogowe 1 (trzecie od do∏u)
do bieguna dodatniego.
PROGRAMOWANIE
KROK PO KROKU
PRZYK¸ADY PROGRAMOWANIA
KOD PROGRAMU TESTER
#include „c-like.h“
#include „robot.h“
declare( behavior(TesterBaterii) );
void odnowDisplay();
define( behavior(Main))
{
lcd_clear();
start(TesterBaterii);
}
unsigned char old_value = 0;
define( behavior(TesterBaterii) )
{
unsigned char new_value;
old_value = new_value;
i2c_read(44, 8, &new_value, 1);
if (new_value != old_value)
odnowDisplay(new_value);
msleep(100);
}
void odnowDisplay(unsigned char val)
{
char buffer[17];
float x = (float) ( (3.000f * val) / 255.0f );
snprintf(buffer, 17, „%0.3f Volt“, x);
lcd_write_string(1, 1, buffer);
}
Kod C-like programu Tester (przeznaczony do zapisania
w pliku tester.clike). Pozwala on zobaczyç na ekranie wy-
Êwietlacza i-D01 napi´cie, zmierzone po pod∏àczeniu biegu-
nów baterii do gniazd GND i wejÊcie analogowe 1 z∏àcza
zasobnika. Program przeprowadza pomiar napi´cia, pos∏u-
gujàc si´ liczbami typu
float. Ten rodzaj obliczeƒ wymaga
du˝ej pracy od procesorów robota – przy bardziej z∏o˝onych
zastosowaniach C-like warto go zatem unikaç. Musisz te˝
pami´taç, by nie testowaç baterii o napi´ciu nominalnym
przewy˝szajàcym 3 V.
GND
wejÊcie
analogowe 1
,,TESTER” BATERII
W JEZYKU C-LIKE
„TESTER” BATERII
W J¢ZYKU C-LIKE