Difference between revisions of "Acrob robot prejde bludisko, a program ďalej vizualizuje mapu bludiska na obrazovke (Michal Borčin & Barbora Zaťková)"
From RoboWiki
(→Bludisko a zapojenie robota) |
(→Bludisko a zapojenie robota) |
||
| Line 13: | Line 13: | ||
--FOTO-- | --FOTO-- | ||
| − | + | Pripojili sme aj jeden pushbutton, pomocou ktorého sme vypisovali údaje. Zapojili sme ho pomocou tejto schémy http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob004. | |
| + | |||
| + | |||
| + | == Algoritmus sledovania čiary == | ||
| + | Sledovanie čiary: | ||
| + | |||
| + | <pre> | ||
| + | if ((sen == 10) || (sen == 2)) //0101 a 0100 | ||
| + | { | ||
| + | //rovno | ||
| + | LeftServo.write(95); | ||
| + | RightServo.write(85); | ||
| + | // go_straight(); | ||
| + | } | ||
| + | else if ((sen == 3)||(sen == 1)) //1100 a 1000 | ||
| + | { | ||
| + | //vlavo | ||
| + | RightServo.write(84); | ||
| + | LeftServo.write(88); | ||
| + | delay(250); | ||
| + | } | ||
| + | else if (sen==0) { //0000 - | ||
| + | // otoc | ||
| + | LeftServo.write(95); | ||
| + | RightServo.write(95); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | //vpravo | ||
| + | LeftServo.write(95); | ||
| + | RightServo.write(92); | ||
| + | } | ||
| + | </pre> | ||
Revision as of 10:50, 24 June 2013
Úvod
Našou úlohou bolo skonštruovať robota, ktorý prejde celé bludisko, a počas toho zaznamenáva údaje tak, aby sa bludisko dalo vykresliť na obrazovku.
Bludisko a zapojenie robota
Naše bludisko bolo reprezentované čiernou páskou na bielom papieri, kde páska značila cestu a biele okolie steny.
Použili sme štyri analógové Line senzory, ktoré sme zapojili podľa nasledujúcej schémy http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob008. Pomocou týchto senzorov sme naprogramovali sledovanie čiary.
--FOTO--
--FOTO--
Pripojili sme aj jeden pushbutton, pomocou ktorého sme vypisovali údaje. Zapojili sme ho pomocou tejto schémy http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob004.
Algoritmus sledovania čiary
Sledovanie čiary:
if ((sen == 10) || (sen == 2)) //0101 a 0100
{
//rovno
LeftServo.write(95);
RightServo.write(85);
// go_straight();
}
else if ((sen == 3)||(sen == 1)) //1100 a 1000
{
//vlavo
RightServo.write(84);
LeftServo.write(88);
delay(250);
}
else if (sen==0) { //0000 -
// otoc
LeftServo.write(95);
RightServo.write(95);
}
else
{
//vpravo
LeftServo.write(95);
RightServo.write(92);
}