i droid instrukcja83b

background image

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

´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


Wyszukiwarka

Podobne podstrony:
i droid instrukcja87a
i droid instrukcja44
i droid instrukcja75
i droid instrukcja35
i droid instrukcja85a
i droid instrukcja43
i droid instrukcja82a
i droid instrukcja87b
i droid instrukcja88b
i droid instrukcja81a
i droid instrukcja84a
i droid instrukcja82c
i droid instrukcja66
i droid instrukcja87a
i droid instrukcja88a

więcej podobnych podstron