Paso 3: Arduino
Conectar el Arduino como se indica en el paso anterior y en el código. 3 pilas AA funcionan bien para los motores (puede tomar prestada la bahía de batería existentes para alojarlos).
Aquí está el código. Simplemente se mueve el robot hacia adelante, gira a la derecha, izquierda, luego retrocede y repite.
/* int LED = 13; usando construido en LED void setup() void loop() } void //function go (dir boolean, int spd, int tiempo) que se mueve el robot hacia adelante o hacia atrás
SpyBotics + Arduino
Grillo de NIC
20/11/13
*/
int Eleft = 6; habilitar el motor izquierdo. Debe ser un pin PWM
int Eright = 5; habilitar el motor adecuado. Debe ser un pin PWM
int Rforward = 12; motor derecha adelante
int Rbackwards = 11; motor derecho atrás
int Lforward = 9; motor izquierdo adelante
int Lbackwards = 10; motor izquierdo atrás
{
inicializar los pines como salidas
pinMode (LED, salida);
pinMode (Eleft, salida);
pinMode (Eright, salida);
pinMode (Rforward, salida);
pinMode (Rbackwards, salida);
pinMode (Lforward, salida);
pinMode (Lbackwards, salida);
}
{
int x = 200; Este valor establece la velocidad de todos los movimientos
ir (true, 255, x); avanzar a velocidad 255 x milisegundos
Delay(20); esperar un poco
activar (true, 255, x); a la derecha en velocidad 255 x milisegundos
Delay(20);
Gire (falso, 255, x);
Delay(20);
ir (falso, 255, x);
Delay(20);
{
Dirección de //if if(dir) es verdad, vaya
{
digitalWrite (Rbackwards, bajo);
digitalWrite (Rforward, alto);
digitalWrite (Lbackwards, bajo);
digitalWrite (Lforward, alto);
}
otra //else si sentido es falso, volver
{
digitalWrite (Rbackwards, alto);
digitalWrite (Rforward, bajo);
digitalWrite (Lbackwards, alto);
digitalWrite (Lforward, bajo);
}
analogWrite(Eright,spd); activar motor en derecho dada la velocidad
analogWrite(Eleft,spd); activar motor en dada la velocidad a la izquierda
Delay(Time); continuar girando para dada la cantidad de tiempo
analogWrite(Eright,0); parada de motor derecha
analogWrite(Eleft,0); motor izquierdo parada
}
//function turno vacío (boolean a la izquierda, spd int, int tiempo) que hace robot gire
{
//if if(left) izquierda es cierto, girar a la izquierda
{
digitalWrite (Rbackwards, bajo);
digitalWrite (Rforward, alto);
digitalWrite (Lbackwards, alto);
digitalWrite (Lforward, bajo);
}
otro //else si es FALSE, girar a la derecha
{
digitalWrite (Rbackwards, alto);
digitalWrite (Rforward, bajo);
digitalWrite (Lbackwards, bajo);
digitalWrite (Lforward, alto);
}
analogWrite (Eright, spd); //enable motor derecho a dado velocidad
analogWrite(Eleft,spd); activar motor en dada la velocidad a la izquierda
Delay(Time); continuar girando para dada la cantidad de tiempo
analogWrite(Eright,0); parada de motor derecha
analogWrite(Eleft,0); motor izquierdo parada
}
(Perdón el código a veces descuidado)