Fórum témák
» Több friss téma |
Cikkek » 5.000 Ft-os Launchpad Robot 5.000 Ft-os Launchpad Robot
Szerző: Fizikus, idő: Jún 3, 2013, Olvasva: 21520, Oldal olvasási idő: kb. 2 perc
A robotvezérlő program A robotvezérlő program feladata egyszerű: beolvassa a vonalérzékelő szenzorok jeleit, melyek alapján meghatározza a robot válaszát és ennek megfelelően vezérli a motorokat. Az előző részben tárgyalt vonalkövető algoritmus Energia IDE nyelvre lekódolva:
A főprogram legelején, a loop() végtelen cikuls folyamatosan beolvassa az analogRead() utasítással a jobb és bal szenzor jeleit a balertek és jobbertek nevű változókba. Az if() és else if() utasítások azt vizsgálják, hogy melyik szenzor van a vonal vagy a padló felett (melyik értéke van a 720-as határérték alatt és felett), és ettől függően a korábban tárgyalt vonalkövető algoritmusnak megfelelően úgy vezéreli a Launchpad panel a motorokat, hogy a követendő vonal mindig a két szenzor között legyen. A robot irányításának a leegyszerűsítése érdekében létrehoztam a MotorBal és MotorJobb motorvezérlő függvényeket. A függvényeknek 100 és -100 közé eső számot kell megadni paraméternek (előre 100% - hátra 100%). A motorvezérlő függvényeken belül a motorok forgásirányát a digitalWrite() utasítás, a motorok sebességét pedig az analogWrite() utasítás állítja.
A program feltöltése Most, hogy a robot már elkészült, már csak a Launchpad panel programozása maradt hátra. Győződjünk meg arról, hogy az MSP2553-as IC van a panelba helyezve (a dobozból kivéve, alapból ez az IC van a panelben) és hogy az Energia programban is az MSP2553-as IC van kiválasztva a "Tools/Board" menüben. Miután bemásoltuk a mellékelt kódot az Energia-ba, fordítsuk le a Compile gombra kattintva. A lefordított program az Upload gombbal tölthető fel a Launchpad panelre. A program feltöltése után végre el is készült a robot. A programban használt Serial.print() és Serial.println() utasítások a hardveres soros portot használják, és csak az MSP430G2553-es mikrovezérlővel működnek, mert az UART kommunikációt a Launchpad kártyához kapott mikrovezérlők közül csak az MSP430G2553 támogatja hardveresen. (MSP430G2553 esetén HW soros port konfigurálás kell, és ahogy a kártya feliratozása is mutatja, az átkötéseket elforgatott állásban kell felhelyezni ).
A végére egy kis video: (a videóhoz kattints a képre)
Továbbfejlesztés Az alváz és a Launchpad-re csatlakozó motorvezérlő panel egy stabil kiindulási alapot biztosít a későbbi esetleges továbbfejlesztésekhez. A vonalérzékelő szenzorok számát és elrendezését változtatva bonyolultabb és sokkal hatékonyabb vonalkövető algoritmusok is alkalmazhatóak.
Ezzel a cikk végére is értem. Remélem tetszett, és sokan kedvet kapnak tőle a Launchpad panel használatához és a robotépítéshez. Üdvözlettel: Fizikus A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |