Stap 3: Arduino Motorshield
Zodra uw motor shield alles aangesloten is, wordt het een kwestie van je arduino programmeren:
Const int DIRB = 13; sets links motor richting
Const int DIRA = 12; Hiermee stelt u rechts motor richting
Const int PWMB = 11; analoge audio; de motorsnelheid sets
Const int PWMA = 3; analoge audio; de motorsnelheid sets
int PWMAfwd, PWMArev, PWMAleft, PWMAright, PWMAhalt, PWMBfwd, PWMBrev, PWMBleft, PWMBright;
VOID Setup {}
pinMode (DIRB, uitvoer);
pinMode (PWMB, uitvoer);
pinMode (PWMA, uitvoer);
pinMode (DIRA, uitvoer);
Serial.begin(9600);
PWMAfwd = 200; gebruikt voor het bijsnijden van motorspeeds voor verschillende robot executies
PWMBfwd = 255;
PWMArev = 200;
PWMBrev = 255;
PWMAleft = 200;
PWMBleft = 255;
PWMAright = 200;
PWMBright = 255;
}
VOID fwd () {//sets motoren toekomen
digitalWrite (DIRA, hoge);
digitalWrite (DIRB, hoge);
analogWrite (PWMA, PWMAfwd);
analogWrite (PWMB, PWMBfwd);
}
VOID rev () {//sets motoren om te keren
digitalWrite (DIRB, laag);
digitalWrite (DIRA, laag);
analogWrite (PWMB, PWMBrev);
analogWrite (PWMA, PWMArev);
}
leegte achtergelaten () {//turns bot links ter plaatse
digitalWrite (DIRB, laag);
digitalWrite (DIRA, hoge);
analogWrite (PWMB, PWMBleft);
analogWrite (PWMA, PWMAleft);
}
VOID juiste () {/ / bot recht op plek draait
digitalWrite (DIRB, hoge);
digitalWrite (DIRA, laag);
analogWrite (PWMB, PWMBright);
analogWrite (PWMA, PWMAright);
}
VOID halt () {//stops motoren
digitalWrite (PWMB, laag);
digitalWrite (PWMA, laag);
}
VOID directiontest () {}
FWD ();
vertraging (1000);
stoppen ();
vertraging (1000);
««(rev);
vertraging (1000);
stoppen ();
vertraging (1000);
links ();
vertraging (1000);
stoppen ();
vertraging (1000);
rechts ();
vertraging (1000);
stoppen ();
vertraging (1000);
}
void loop () {}
directiontest();
}
Als uw bot bewegingen komt niet overeen met uw functienamen kunt re plaatst de motor draden zodat de richting pin hoge sets schrijven de motoren sturen of u kunt deze aanpassen vanuit uw programma.
Het is niet nodig om te definiëren van de variabelen voor elke puls breedte modulatie proces, maar ik wilde zitten kundig voor tweak de motor snelheden in verschillende functies.