ICBob - en Bob inspirerad tvåbent Robot (7 / 10 steg)
Steg 7: Programmering - flytta Generator kod
Nu för att få din bot flyttar. Hämta filen icbob_move_generator.zip nedan och packa upp till katalogen Arduino. Öppna skissen i Arduino IDE. Finna den följande del av koden. Sätta de hem positioner du spelade in för din bot i skissen.
Ange medlemmarna för array hm hem ståndpunkter för din robot
de kan hittas med hjälp av den icbob_home_calibration skissen
CONST int hm [4] = {95,95,85,90}. matrisen att hålla utgångsläget för varje servo RH, RA, LH, LA
I följande avsnitt i koden är där de flytta sekvenserna anges. Varje rad har positioner för 4 servon (RH, RA, LH, LA) i förhållande till utgångsläget.
MV matrisdata. Varje rad är en "frame" eller position för 4 servon
Flera rader skapa en grupp av rörelser som kan vara loopas att
skapa promenader, svarvning, dans eller andra rörelser
CONST int mvct = 6; Att talet ska vara lika med antalet rader i matrisen
CONST int mv [mvct] [4] =
{
{0,-40,0, -20}, //These förladdade siffror bör ge en framåt promenad
{30,-40,30, -20},
{30,0,30,0},
{0,20,0,40},
{- 30,20, - 30,40},
{- 30,0, - 30,0},
};
Detta är den kod som förvandlar matrisdata mv till servo slowmoves
void loop() //loop upprepas för evigt
{
Flytta sekvens
för (int x = 0; x < mvct; x ++) {//cycle genom antalet
RH.slowmove (hm [0] + mv [x] [0], svsp); linjerna "ramar" i matrisen
RA.slowmove (hm [1] + mv [x] [1], svsp);
LH.slowmove (hm [2] + mv [x] [2], svsp);
LA.slowmove (hm [3] + mv [x] [3], svsp);
Delay(framedelay);
}
}
Ladda upp till bot. Bot kommer att gå till utgångsläget för 2 sekunder sedan starta en promenad framåt loop. Det fungerar bäst om tabellen inte är alltför hala.
När du blir trött av att se honom gå kan du prova dina egna drag. Använd "Spara som" att byta namn på skissen. Sedan spela med nummer och se vad du kan göra. Hålla tal mellan -50 och + 50 eller du kan Sila servon. Kom ihåg om du lägger till eller subtrahera linjer måste du ändra värdet mvct för att återge ändringen. Ha det så kul!