User manual
A C-Control PRO az ún. „Float“-adatokat a külső I²C-EEPROM-ba
írja, és visszaolvassa őket. Az ablakban ezek az értékek jelennek
meg.
LDR-Check:
Fény szenzor ellenőrzése. Az értékek megjelennek az ablakban.
Ha mindkét LDR egyformán van megvilágítva, a két érték hasonló
kell legyen (kis eltérések beleférnek az alkatrész-tűrésbe).
Takarja le az egyik érzékelőt, értékének a másikkal szemben meg
kell változnia.
LED-Taster:
Ellenőrzi a LED-eket és a boot-gombot, amely a bevitelhez is
használható. A program start után villog a négy státusz-LED,
majd átmegy futófénybe. A boot-gombbal (SW2) ezt meg lehet
szakítani.
Line-Check:
Vonal érzékelő ellenőrzése. A piros Line-LED felvillan, majd
folyamatosan világít. Az ablakban megjelennek a
fototranzisztorok mért értékei. Ezek a beeső fénytől függően
jelentősen eltérhetnek, de az alkatrészek tűrése is szerepet
játszhat ebben. Állítsa a robotot ehhez a vizsgálathoz egy fehér
papírlapra, melyre előzőleg egy fekete vonalat húzott (kb. 1cm
vastag vonal, pl. fekete filctollal kihúzva; vagy rajzoltasson a PC-
vel és nyomtassa ki). A vonalnak a fototranzisztorok közepénél
kell futni. A bal és jobb érzékelő értékeinek közel azonosnak kell
lenni (+/-30). Tolja el most a vonalat az egyik fototranzisztor felé,
az értéknek jelentősen meg kell változnia.
MIC-Check:
Hangérzékelő ellenőrzése. Tapsoljon egy hangosat, a kijelzés:
„Ups…“.
Motor-Check:
Hajtás ellenőrzése. Támassza alá a robot kissé, úgy, hogy a
kerekek mintegy a levegőben lógjanak, és a PRO-BOT128 ne
tudjon leesni az asztalról. A programindítás után gyorsítsa a két
motort először az egyik, majd a másik irányba. A két keréknek
mindig ugyanabba az irányba kell forogni. Ha nem így van, a
motorok bekötését esetleg meg kell változtatni.
Rad-Encoder-Check:
Úthossz mérés ellenőrzése. A hodométer útmérésre, vagy
sebesség meghatározására való (autotacho). A start után
mozgassa kézzel a kerekeket - a számlálási eredmények az
ablakban láthatók. Ha a kerekeket egyformán és egy irányba
mozgatja, az eredményeknek egymáshoz közel kell esniük. Ha
nem így van, a fototranzisztorokat vagy IR-diódákat az úthossz
mérőnél kicsit el kell hajlítani, vagy a kódtárcsákat ellenőrizni,
hogy jól meg vannak-e feketítve.
e) A PRO-BOT128 könyvtár
Hogy ne kelljen magának megírni minden hardver illesztőt a
PRO-BOT128 számára, hanem azonnal indítani tudja, a demo-
programok között egy könyvtár is van. Ez tartalmaz különféle
viselkedéseket, azon kívül valamennyi hardver illesztőt a PRO-
BOT128-hoz.
A következő sorok megvilágítják a könyvtár (Library) szintaktikáját
és alkalmazását. Természetesen ezeket saját alkalmazásokhoz
és funkciókhoz bővíteni lehet.
PRO_BOT128_INIT()
Inicializálja a PRO-BOT128 alap-hardverét. Először mindig ezt a
funkciót kell behívni.
Példa:
Sub main()
PRO_BOT128_INIT()
… főprogram … End sub
BUTTON() as byte
Lekérdezi SW2-t megszakítással, válasz bájt formában. Az SW2
állapota 0 vagy 1 lehet, és minden gombnyomásra megváltozik
("Toggle").
SYSTEM_CNT()
A Timer 2 interrupt a kerék sebesség kiolvasásához van. Saját
számláló változót is be lehet építeni. A timer felbontása 10ms.
FLL_ON()
A bal első LED bekapcsolása („Front Led Left“).
FLL_OFF()
A bal első LED kikapcsolása („Front Led Left“).
FLR_ON()
A jobb első LED bekapcsolása („Front Led Right“).
FLR_OFF()
A jobb első LED kikapcsolása („Front Led Right“).
BLL_ON()
A bal hátsó LED bekapcsolása („Back Led Left“).
BLL_OFF()
A bal hátsó LED kikapcsolása („Back Led Left“).
BLR_ON()
A jobb hátsó LED bekapcsolása („Back Led Right“).
BLR_OFF()
A jobb hátsó LED kikapcsolása („Back Led Right“).
ENC_RIGHT()
Interrupt rutin a jobb kerék-kódolóhoz. Az „ODO_RIGHT“ változó
növelése 1-gyel.
ENC_LEFT()
Interrupt rutin a bal kerék-kódolóhoz. Az „ODO_RIGHT“ változó
csökkentése 1-gyel
ODO_RESET()
Kerék-kódoló 0-ra állítása.
ENC_LED_ON()
Kerék-kódoló IR-diódák bekapcsolása. Szükség esetén be kell a
rutint hívni. Áramtakarékosság céljából ki is lehet kapcsolni,
ENC_LED_OFF() segítségével.
ENC_LED_OFF()
Kerék-kódoló IR-diódák kikapcsolása, ld. ENC_LED_ON().
BEEP(tone as word, periode as word)
Hang kiadás, a hangok fent a könyvtárban vannak definiálva.
Példa: BEEP(250,150)
SOUND_LEVEL() as word
A hangérzékelő analóg értékét adja (0...1023).
LDR_LEFT() as word
Bal fényérzékelő (LDR) analóg értéke (0...1023).
LDR_RIGHT() as word
Jobb fényérzékelő (LDR) analóg értéke (0...1023).
READ_LINE_LEFT() as word
Bal vonalérzékelő analóg értéke (0...1023).
READ_LINE_RIGHT() as word
Jobb vonalérzékelő analóg értéke (0...1023).
LINE_LED_ON()
Vonalérzékelők LED-jének bekapcsolása.
LINE_LED_OFF()
Vonalérzékelők LED-jének kikapcsolása.
AKKU_SPG() as single
Az akku- ill. elemfeszültséget adja vissza.
GET_ADC(channel as byte) as word
Tetszőleges ADC-csatorna kiolvasása (0...7 csatornák).
DRIVE_INIT()
Hajtás inicializálása. A hajtás használata el
őtt ezt a rutint kell
behívni.
DRIVE_ON()
Az L293D Enable-bemenetét High-ra állítja. A hajtás be van
kapcsolva.
DRIVE_OFF()
Az L293D Enable-bemenetét Low-ra állítja. A hajtás ki van
kapcsolva.
DRIVE(left as byte, right as byte)
Timer1 PWM a hajtáshoz: értéktartomány 1...128 = hátra,
128...255 = előre, 128 = stop.
motor_POWER(left as byte, right as byte)
Sebesség, értéktartomány 1...255
Megelőzően a MOTOR_DIR segítségével az irányt meg kell adni.
MOTOR_DIR(left as byte, right as byte)
Motorok forgási irányának megadása a MOTOR_POWER
funkcióhoz. 1 = előre 0 = hátra
MOTOR_STOP()
A motor leáll, PWM 128-ra áll.
GO_TURN(distance as integer, degree as integer, speed as
byte)
A PRO-BOT128 egy megadott irányba mozog.
„Distance“ cm-ben (+ = előre ; - = hátra)
„Degree“ fokban (+ = jobbra fodulás ; - = balra fordulás)
„Speed“ 1...255
ACS_INIT()
Ütközésgátló rendszer inicializálása, használat előtt be kell hívni.
ACS_LEFT() as byte
Akadályfelismerő státuszát adja vissza (bal érzékelő): 1 = nincs
akadály 0 = akadály észlelve
ACS_RIGHT() as byte
Akadályfelismerő státuszát adja vissza (jobb érzékelő): 1 = nincs
akadály 0 = akadály észlelve
DELAY_MS(time as integer)
Alternatív időhurok az AbsDelay()-hez. Különbség: a
megszakítások (interrupt) továbbra is le vannak kérdezve, az
interpreter nem áll le teljesen (1ms Time Slot).
MAKE_INT(MSB as byte, LSB as byte) as word