Stap 7: Programmeren - Move Generator Code
Nu om je bot bewegen. Download het icbob_move_generator.zip bestand hieronder en unzip naar de directory van de Arduino. Open de schets in de Arduino IDE. Zoek de volgende sectie met code. Zet de home posities die u hebt genoteerd voor je bot in de schets.
//set the members for the array hm to the home positions for your robot //they can be found by using the icbob_home_calibration sketch const int hm[4] = {95,95,85,90}; //array to hold home position for each servo RH,RA,LH,LA
De volgende sectie van code is waar de beweging sequenties zijn ingevoerd. Elke regel heeft posities voor de 4 servo's (RH, RA, LH, LA) ten opzichte van de uitgangspositie.
//mv array data. Each line is a 'frame' or position set for the 4 servos //Multiple lines create a group of movements that can be looped to //create walking, turning, dance or other movements const int mvct = 6; //Make this number equal to the number of lines in the array const int mv[mvct][4] = { {0,-40,0,-20}, //These preloaded numbers should give a forward walk {30,-40,30,-20}, {30,0,30,0}, {0,20,0,40}, {-30,20,-30,40}, {-30,0,-30,0}, };
Dit is de code die de mv matrix gegevens in servo slowmoves verandert
void loop() //loop repeats forever { // Do move sequence for(int x=0; x<mvct; x++) { //cycle through the number of RH.slowmove (hm[0] + mv[x][0] , svsp); //lines 'frames' in the array 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); } }
Uploaden naar de bot. De bot zal gaan naar de home positie voor 2 seconden en start een voorwaartse lus wandeling. Het werkt het beste als de tabel niet te glad is.
Zodra je moe van het zien van hem lopen kunt u uw eigen bewegingen proberen. Gebruik "opslaan als" te hernoemen de schets. Dan spelen met de nummers en zie wat u kunt doen. Houd de getallen -50 tot + 50 of u kan de servo's stam. Vergeet niet als u optellen of lijnen hebt de waarde mvct aftrekken om de wijziging te wijzigen. Veel plezier!