Stap 3: Arduino
Sluit de Arduino op zoals aangegeven in de vorige stap en in de code. 3 AA-batterijen werken goed voor de motoren (u kunt het bestaande accucompartiment om te huisvesten ze lenen).
Hier is de code. Het gewoon de bot naar voren beweegt, draait rechts, links, dan keert en herhaalt.
/* int LED = 13; met ingebouwde LED VOID Setup void loop } VOID go (Booleaanse dir, int spd, int tijd) //function die de robot vooruit beweegt of terug
Spybotics + Arduino
NIC Shackle
20/11/13
*/
int Eleft = 6; inschakelen linker motor. Moet een PWM-pin
int Eright = 5; staat stellen de juiste motor. Moet een PWM-pin
int Rforward = 12; juiste motor vooruit
int Rbackwards = 11; rechts motor terug
int Lforward = 9; linker motor vooruit
int Lbackwards = 10; linker motor terug
{
initialiseren van pinnen als uitgang
pinMode (LED, uitvoer);
pinMode (Eleft, uitvoer);
pinMode (Eright, uitvoer);
pinMode (Rforward, uitvoer);
pinMode (Rbackwards, uitvoer);
pinMode (Lforward, uitvoer);
pinMode (Lbackwards, uitvoer);
}
{
int x = 200; Deze waarde stelt de snelheid van alle bewegingen
gaan (true, 255, x); voorwaarts gaan op snelheid 255 voor x milliseconden
vertraging(20); een beetje wachten
schakelen (waar, 255, x); Sla rechtsaf bij een snelheid van 255 voor x milliseconden
vertraging(20);
schakelen (valse, 255, x);
vertraging(20);
gaan (valse, 255, x);
vertraging(20);
{
if(dir) //if richting is waar, ga naar voren
{
digitalWrite (Rbackwards, laag);
digitalWrite (Rforward, hoge);
digitalWrite (Lbackwards, laag);
digitalWrite (Lforward, hoge);
}
anders //else als richting is FAlSE, ga terug
{
digitalWrite (Rbackwards, hoge);
digitalWrite (Rforward, laag);
digitalWrite (Lbackwards, hoge);
digitalWrite (Lforward, laag);
}
analogWrite(Eright,spd); inschakelen rechts motor bij bepaalde snelheid
analogWrite(Eleft,spd); inschakelen motor op gezien snelheid links
delay(time); verder draaien voor bepaalde tijd
analogWrite(Eright,0); de juiste motor stop
analogWrite(Eleft,0); de linker motor stop
}
VOID beurt (boolean verliet int spd, int tijd) //function dat maakt robot zetten
{
if(Left) //if links klopt, linksaf
{
digitalWrite (Rbackwards, laag);
digitalWrite (Rforward, hoge);
digitalWrite (Lbackwards, hoge);
digitalWrite (Lforward, laag);
}
anders //else als onwaar is, slaat u rechtsaf
{
digitalWrite (Rbackwards, hoge);
digitalWrite (Rforward, laag);
digitalWrite (Lbackwards, laag);
digitalWrite (Lforward, hoge);
}
analogWrite (Eright, spd); //enable rechts motor bij bepaalde snelheid
analogWrite(Eleft,spd); inschakelen motor op gezien snelheid links
delay(time); verder draaien voor bepaalde tijd
analogWrite(Eright,0); de juiste motor stop
analogWrite(Eleft,0); de linker motor stop
}
(Excuus voor de soms slordig code)