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

3 Komentarai

Dalius

1. Dalius

2009-05-29, 05:40

Įdomu. Tu daugiau apie tokius dalykus parašyk :-) Aš va domiuosi http://www.arduino.cc/ šiuo metu, nors dar net neturiu kur įgydenti vieną idėją.

Armandas

2. Armandas

2009-05-29, 09:37

Na tai man ir įdomu kas aktualu skaitytojam. Jei "daugiau" reiškia detaliau, tai paklauskit komentaruose ir būtinai pratęsiu ir jei atsiras tų norinčių, kituose įrašuose pasitaisysiu :) O jei sakydamas daugiau turi galvoje daugiau įrašų, tai turėkit kantrybės, mano "karjera" dar tik prasideda :D
Kas dėl arduino, tai buvau įsigijęs Duemilanove, bet nieko rimto dar su juo nenuveikiau. Šiaip kadangi pirkau labiau mokymosi tikslais, tai programavimui nenaudojau to Arduino "freimworko". Grynas C kol kas man yra aktualiau.

Artūras Šlajus

3. Artūras Šlajus

2009-05-30, 12:11

Plem, va čia tai įdomybės univere :)) KTU ilsisi :D