Paso 4: Código de Arduino para gesto basado en coche robot
#define BAUDRATE 9600
const int MotR_A = 3; C.C. Pole_A de Motor1
const int MotR_B = 5; C.C. Pole_B de Motor1
const int MotL_A = 6; C.C. Pole_A de Motor2
const int MotL_B = 9; C.C. Pole_B de Motor2
byte GetValue;
void setup()
{
Serial.Begin(BAUDRATE);
pinMode (MotR_A, salida);
pinMode (MotR_B, salida);
pinMode (MotL_A, salida);
pinMode (MotL_B, salida);
}
byte ReadOneByte() / leer un Byte la función
{
int ByteRead;
mientras (!. Serial.Available());
ByteRead = Serial.read();
volver ByteRead;
}
void loop()
{
GetValue = ReadOneByte();
Switch(GetValue)
{
caso 'C':
Robot_Left();
rotura;
caso 'A':
Robot_Right();
rotura;
caso ' n ':
Robot_Forword();
rotura;
de caso ':
Robot_Reverse();
rotura;
caso 'E':
Robot_Left();
Delay(1000);
Robot_Forword();
rotura;
caso 'W':
Robot_Right();
Delay(1000);
Robot_Forword();
rotura;
}
}
void Robot_Reverse()
{
digitalWrite (MotR_B, alto);
digitalWrite (MotR_A, bajo);
digitalWrite (MotL_A, alto);
digitalWrite (MotL_B, bajo);
}
void Robot_Forword()
{
digitalWrite (MotR_A, alto);
digitalWrite (MotR_B, bajo);
digitalWrite (MotL_B, alto);
digitalWrite (MotL_A, bajo);
}
void Robot_Left()
{
digitalWrite (MotR_B, alto);
digitalWrite (MotR_A, bajo);
digitalWrite (MotL_A, bajo);
digitalWrite (MotL_B, alto);
}
void Robot_Right()
{
digitalWrite (MotR_B, bajo);
digitalWrite (MotR_A, alto);
digitalWrite (MotL_A, alto);
digitalWrite (MotL_B, bajo);
}
void Robot_Stop()
{
digitalWrite (MotR_B, bajo);
digitalWrite (MotR_A, bajo);
digitalWrite (MotL_A, bajo);
digitalWrite (MotL_B, bajo);
}