MBM-1 - stavíme našeho robora 3.

Autor: MiraH <mirah@wo.cz>, Téma: Roboti a programování, Vydáno dne: 24. 01. 2010

Tak jsme zase trochu pokročili. Nejdřív jsem zkonstruoval jakého si polorobota, občas chtěl pošťouchnout, ale poslední pokusy už vypadaly nadějně:-)

Zase jsem si našel dost volna, abych se zahloubal do dalších pokusů. Zavrhnul jsem složité konstrukce u čidel, abych nemusel nic pájet a čidlo zapojil podle nejjednoduššího schematu z datasheetu.

sch_jednoduche

No a s tímhle čidlem jsem zkusil jednoduché prográmky - jeď po bílé podlaze, dokud nenarazíš na černou čáru,... Prostě něco jednoduchého, abych si osahal nastavení výšky čidla nad podložkou, nastavení 10k odporu, tedy dával jsem tam trimr abych to mohl ladit. Tím jsem strávil hooodně času. Pořád jsem měl čidlo nízko nebo vysoko a PIC měl problém vyhodnotit, jaký napětí do něj vlastně teče. Prostě se fakt budu muset naučit pájet a dělat věci složitější, ale spolehlivější.

Pro další pokusy jsem udělal druhé čidlo. Robot dostal čelo k upevnění senzorů. a na desce jsem zdrátoval dvě zapojení čidel.

2čidla 2čidladeska

Předpokládal jsem, že tohle už by mohlo jezdit po čáře. Jezdilo, ale, pokud se obě čidla dostala mimo čáru, robot se zastavil. A to se dostala v každém větším ohybu. Ale robot se alespoň rozjel.



Ještě jsem zkusil variantu pobíhání v ohradě, ale opět pouze 2 čidla způsobily, že robot narazil na plot z černé čáry, zastavil se a jen čuměl na druhou stranu.



Takže přišlo třetí čidlo. Prostě u robota asi platí víc očí víc rozumu :-))

3čidla3čidladeska

No a už to bylo téměř ono. Tedy ještě musím vychytat mouchy, jako pořádně si nabít baterky, protože ke konci už robotek silně zdechával :-) No a další pokusy příště.

Tohle ho řídí:
REM stopar
start:

if  pin3=1 and pin2=1 and pin1=1 then goto vpred
if  pin3=1 and pin2=1 and pin1=0 then goto vlevo
if  pin3=1 and pin2=0 and pin1=0 then goto vvlevo
if  pin3=0 and pin2=1 and pin1=1 then goto vpravo
if  pin3=0 and pin2=0 and pin1=1 then goto vvpravo
if  pin3=0 and pin2=0 and pin1=0 then goto stuj

goto start

vpred:
pulsout 0,100
pulsout 4,200
goto start

vpravo:
pulsout 0,150
pulsout 4,200
goto start

vvpravo:
pulsout 0,200
pulsout 4,200
goto start

vlevo:
pulsout 0,100
pulsout 4,150
goto start

vvlevo:
pulsout 0,100
pulsout 4,100
goto start

stuj:
pulsout 0,150
pulsout 4,150
goto start

A takhle jezdí, když má ještě alespoň trochu nabité baterky.



Tak a teď jdu do hospůdky na jedno :-))