COCHE PROGRAMADO

Una vez montada la plataforma y los elementos básicos (Arduino, motores y controlador de motores), procedemos a programar los diferentes movimientos del coche.

Ver instrucciones de montaje de la plataforma

Ver conexión del controlador de motores

Recordamos la conexión de los motores según este esquema:

El motor 1 (derecha) está conectado a los pines de Arduino 5 y 6 y el motor 2 (izquierda) está conectado a los pines 9 y 10. Para que los motores se muevan seguimos las indicaciones de esta tabla, enviando a los pines las señales que se indican:

Así, podemos decir que los pines 5 y 9 hacen que los motores giren hacia adelante, mientras que los pines 6 y 10 hacen que los motores giren hacia atrás.

Para facilitar la programación, creamos una variable para cada pin cuya nomenclatura nos facilitará recordar qué pines hacen que nuestro coche avance y cuáles que retroceda.

mBlock

Al inicio de cualquier programa, asignamos a cada variable el pin asociado a su dirección de giro:

Veamos como programar distintos movimientos:

Si el motor 1 retrocede en lugar de avanzar, intercambia en la placa Arduino los cables de los pines 5 y 6.

Si el motor 2 retrocede en lugar de avanzar, intercambia en la placa Arduino los cables de los pines 9 y 10.

Si el motor 1 avanza en lugar de retroceder, intercambia en la placa Arduino los cables de los pines 5 y 10.

Si el motor 2 avanza en lugar de retroceder, intercambia en la placa Arduino los cables de los pines 6 y 9.

int motor1Avance = 5; // usamos un pin de salida al motor
int motor1Atras = 6; // usamos un pin de salida al motor
int motor2Avance = 9; // usamos un pin de salida al motor
int motor2Atras = 10; // usamos un pin de salida al motor

 

void setup() {
  pinMode(motor1Avance, OUTPUT);
  pinMode(motor1Atras, OUTPUT);
  pinMode(motor2Avance, OUTPUT);
  pinMode(motor2Atras, OUTPUT);

 

}

 

void loop() {
analogWrite(motor1Avance, 250);
analogWrite(motor2Avance, 250);
analogWrite(motor1Atras, 0);
analogWrite(motor2Atras, 0);
}
int motor1Avance = 5; // usamos un pin de salida al motor
int motor1Atras = 6; // usamos un pin de salida al motor
int motor2Avance = 9; // usamos un pin de salida al motor
int motor2Atras = 10; // usamos un pin de salida al motor

 

void setup() {
  pinMode(motor1Avance, OUTPUT);
  pinMode(motor1Atras, OUTPUT);
  pinMode(motor2Avance, OUTPUT);
  pinMode(motor2Atras, OUTPUT);

 

}

 

void loop() {
analogWrite(motor1Avance, 0);
analogWrite(motor2Avance, 0);
analogWrite(motor1Atras, 250);
analogWrite(motor2Atras, 250);
}
int motor1Avance = 5; // usamos un pin de salida al motor
int motor1Atras = 6; // usamos un pin de salida al motor
int motor2Avance = 9; // usamos un pin de salida al motor
int motor2Atras = 10; // usamos un pin de salida al motor

 

void setup() {
  pinMode(motor1Avance, OUTPUT);
  pinMode(motor1Atras, OUTPUT);
  pinMode(motor2Avance, OUTPUT);
  pinMode(motor2Atras, OUTPUT);

 

}

 

void loop() {
 
analogWrite(motor1Avance, 250);
analogWrite(motor2Avance, 50);
analogWrite(motor1Atras, 0);
analogWrite(motor2Atras, 0);
}
int motor1Avance = 5; // usamos un pin de salida al motor
int motor1Atras = 6; // usamos un pin de salida al motor
int motor2Avance = 9; // usamos un pin de salida al motor
int motor2Atras = 10; // usamos un pin de salida al motor

 

void setup() {
  pinMode(motor1Avance, OUTPUT);
  pinMode(motor1Atras, OUTPUT);
  pinMode(motor2Avance, OUTPUT);
  pinMode(motor2Atras, OUTPUT);

 

}

 

void loop() {
analogWrite(motor1Avance, 50);
analogWrite(motor2Avance, 250);
analogWrite(motor1Atras, 0);
analogWrite(motor2Atras, 0);
}

Si el motor 1 retrocede en lugar de avanzar, intercambia en la placa Arduino los cables de los pines 5 y 6.

Si el motor 2 retrocede en lugar de avanzar, intercambia en la placa Arduino los cables de los pines 9 y 10.