12
D
zi´ki instrukcjom przedstawionym na poprzednich
stronach wiesz ju˝, jak zbudowaç obwód czujników
bocznych z elementów zestawu p∏ytki testowej. No-
we umiej´tnoÊci sensoryczne, jakimi charakteryzuje si´ taki
obwód (czyli mo˝liwoÊç „widzenia” z boku, która s∏u˝y do
wyodr´bniania przedmiotów), robot b´dzie móg∏ wykorzy-
staç dzi´ki odpowiedniemu oprogramowaniu – jego nowe
wersje pojawià si´ na czwartej p∏ycie CD-ROM. Na razie jed-
nak mo˝na testowaç dzia∏anie czujników na promienie pod-
czerwone za pomocà odpowiedniego programu napisanego
w j´zyku C-like, którego kod zosta∏ pokazany w ramce obok.
TESTOWANIE CZUJNIKÓW
Test mo˝na przeprowadziç, uruchamiajàc program C-like (pod
nazwà tte
esstt_
_iin
nffrra
arre
ed
d..cclliik
ke
e), zawierajàcy pokazany obok kod.
Po uruchomieniu program b´dzie kaza∏ robotowi reagowaç na
pojawianie si´ przeszkód – specjalne „wyszukiwacze” b´dà
mówiç „lewa”, jeÊli przeszkoda znajduje si´ po lewej stronie
robota, i „prawa”, gdy b´dzie je widaç po stronie prawej. Od-
bywa si´ to poprzez odczyt wartoÊci na wejÊciach gniazd za-
sobnika, do których to wejÊç pod∏àczone sà same odbiorniki.
Pomówmy teraz chwil´ o szczegó∏ach bardziej technicznych
– w zachowaniu m
ma
aiin
n skonfigurowane jest GPIO1 (port 1,
czwarte gniazdo od do∏u z∏àcza zasobnika) i GPIO2 (port 2,
piàte od do∏u), a tak˝e wejÊcia przerwaniowe (odpowiednio
dla odbiornika prawego lub lewego), dostarczajàce „niskà” war-
toÊç, jeÊli wykryto przeszkod´, i „wysokà”, jeÊli do tego nie do-
sz∏o. Z kolei zachowanie iin
nffrra
arre
ed
d aktywuje w sposób cyklicz-
ny GPIO3 (piàte gniazdo od góry) i GPIO4 (czwarte od góry)
jako wyjÊcia fali prostokàtnej aktywujàcej przekaêniki, aby na-
st´pnie odczytaç wartoÊci GPIO1 i GPIO2. Warto wiedzieç, ˝e
dopiero zawarta na czwartej p∏ycie CD-ROM wersja edytora
Visual C-like umo˝liwi bardziej bezpoÊrednie zarzàdzanie czuj-
nikami bocznymi. Wykorzysta do tego schematy blokowe.
O
Od
d tte
eg
go
o m
mo
om
me
en
nttu
u d
dzzii´
´k
kii o
od
dp
po
ow
wiie
ed
dn
niie
em
mu
u
p
prro
og
grra
am
mo
ow
wii d
do
o tte
esstto
ow
wa
an
niia
a n
na
ap
piissa
an
ne
em
mu
u
w
w jj´
´zzy
yk
ku
u C
C--lliik
ke
e b
b´
´d
dzziie
e m
mo
o˝˝n
na
a jju
u˝˝
w
wy
yp
prró
ób
bo
ow
wa
açç cczzu
ujjn
niik
kii b
bo
occzzn
ne
e..
TEST CZUJNIKÓW
KROK PO KROKU
PRZYK¸ADOWY KOD
KOD PROGRAMU TEST_INFRARED
#include “c-like.h“
#include “robot.h“
declare( behavior(infrared) );
define( behavior(Main) ) {
unsigned char buf;
//konfiguruje GPIO1 i GPIO2 jako wejÊcia ad interrupt
//
GPIO3 i GPIO4 jako wyjÊcia
buf = 0x3C;
i2c_write(44,7,&buf,1);
start(infrared);
}
define( behavior(infrared) ) {
unsigned char buf;
// ustawia GPIO3 i GPIO4 jako wyjÊcia oscylacyjne
buf = 0X0C;
i2c_write(44,15,&buf,1);
msleep(50);
// wy∏àcza wyjÊcia GPIO3 i GPIO4
buf = 0X00;
i2c_write(44,15,&buf,1);
// odczytuje wejÊcia cyfrowe
i2c_read(44,6,&buf,1);
// czy na GPIO1 jest poziom niski, jeÊli tak przeszkoda jest
po lewej stronie
if (!(buf & 0x01)) say_phrase(23);
// czy na GPIO2 jest poziom niski, jeÊli tak przeszkoda jest
po prawej stronie
if (!(buf & 0x02)) say_phrase(24);
msleep(100);
}
Kod C-like programu test_infrared.clike. Zachowanie infra-
red monitoruje sygna∏ odbierany z wejÊç z∏àcza zasobnika
pod∏àczonych do obwodu p∏yty g∏ównej, tak by sprawdziç
obecnoÊç lub brak przedmiotów odbijajàcych promienie
wytwarzane przez przekaêniki. Aby sprawdziç wykorzysta-
nie cyfrowych wejÊç i wyjÊç w programowaniu, si´gnij po
stosowny rozdzia∏ zasobów znajdujàcych si´ w dokumen-
tacji technicznej na trzeciej p∏ycie CD-ROM do∏àczonej do
numeru 66.
TESTOWANIE BOCZNYCH
CZUJNIKÓW PODCZERWIENI
TESTOWANIE BOCZNYCH
CZUJNIKÓW PODCZERWIENI