Liniją senkantis robotas

Įrašyta 2009-05-28, 21:57 | 3 Komentarai

Šį trimestrą univiere darėm du projektus: liniją sekantį robotą ir skaitmeninį termometrą. Robotas, nors ir keistai nuskambės, buvo programinės įrangos projektas. Mes nedarėme geležies dizaino, tiesiog susilitavome duotas dalis. Pagrindinė užduotis buvo parašyti programą, kuri tą robotą valdys.

Roboto smegenys - PIC18F4450 mikrokontroleris. Linijos aptikimui naudojami 5 IR diodai ir 5 IR fotodiodai. Kūnas kažkoks kinietiškas, du ratai varomi DC motoriukų. Motorai valdomi naudojant L298 draiverį.

Robotas programuojamas per usb. Mikrokontroleryje sukasi USB HID bootloader'is iš Microchip. Kompiliavom su C18 kompaileriu, o hex kodą į mikro kėlėm su programa iš to pačio Microchip.

Iš pradžių dar bandžiau susirasti Linux programas, bet nepavyko rasti hex uploaderio. Daėjau iki to, kad skaičiau libusb dokumentaciją, bootloaderio kodą ir snifinau paketus :D Šiaip sakyčiau gan neblogai pavyko (dar neveikia), ypač kai neturėjau jokios normalios specifikacijos. Jei atiduos robotus pabandysiu gal per vasarą pratęst.

Surininktas robotas atrodo maždaug taip:

Liniją sekantis robotas


Veiksmo univiero trasoje kažkaip nenufilmavau, bet šiame video matosi kaip robotas veikia.

Trasa robotams
O tokią vat trasą turėjo įveikti robotai.

Trasoje
Pasivažinėjimas.

Jei kam smalsu galite pažiūrėti ir kodą.

Gairės: Elektronika, PIC, Programavimas, Robotas, Univieras, Video