ATENCIN: PARA PROGRAMAR EL ARDUINO EL CABLE ROJO DEL CHIP BLUETOOTH DEBE ESTAR DESCONECTADO, SINO NO SE PODR CARGAR EL PROGRAMA */
// Definimos los puertos donde irn el LED y las seales de control para los motores
int led = 13; int M1a = 8; int M2a = 9;
int M1b = 10; int M2b = 11; // Definimos un Char que guardar el caracter que llegar por el puerto serie --> indicar la direccin de giro al autito
char direccion = 'n';
void setup() { // configuramos los pines de salida pinMode(led,OUTPUT); pinMode(M1a, OUTPUT); pinMode(M1b, OUTPUT); pinMode(M2a, OUTPUT); pinMode(M2b, OUTPUT); // configuramos el puerto serial, con una tasa de datos de 9600 bps Serial.begin(9600); } void loop() { // Verificamos que existen datos recibidos por el puerto: if (Serial.available() > 0) { // Leemos el byte que lleg: direccion = Serial.read(); // Notificamos que lo recibimos y lo Re-enviamos:
switch (direccion) { case 'w': // Caso de avance Serial.println("Avanza"); digitalWrite(M1b, LOW); digitalWrite(M1a, HIGH); digitalWrite(M2b, HIGH); digitalWrite(M2a, LOW); break;
case 's': // Caso de retroceso Serial.println("Retrocede"); digitalWrite(M1b, HIGH); digitalWrite(M1a, LOW); digitalWrite(M2b, LOW); digitalWrite(M2a, HIGH); break; case 'a': Serial.println("Izquierda"); digitalWrite(M1b, LOW); digitalWrite(M1a, LOW); digitalWrite(M2b, LOW); digitalWrite(M2a, HIGH); break; case 'd': Serial.println("Derecha"); digitalWrite(M1b, HIGH); digitalWrite(M1a, LOW); digitalWrite(M2b, LOW); digitalWrite(M2a, LOW); break; // si se enva cualquier otra letra, el auto se detiene default: digitalWrite(M1b, HIGH); digitalWrite(M1a, HIGH); digitalWrite(M2b, HIGH); digitalWrite(M2a, HIGH); break; } } }