miércoles, 6 de mayo de 2026

Montaje de coche de 2 motores y control bluetooth con Arduino UNO

Los alumnos de 4º ESO han montado un coche de 2 motores con Arduino UNO. A continuación se explican los pasos.

Partimos del siguiente kit:



  • Chasis + cables + tornillos + tuercas

  • Rueda loca + 2 ruedas.

  • 2 motores reductores de doble eje.

  • Interruptor de 2 pines.

  • Portapilas + 4 pilas AA.


Además necesitaremos:

  • Módulo controlador de motores L298N o puente H

  • Módulo bluetooth HC-06. 

Puente H



Lo primero que hacemos es conectar los cables a los motores. Esto se puede hacer soldando o sujetándolos directamente al borne metálico con cinta aislante, que es lo que haremos.

Los motores de corriente continua son los encargados de transformar la electricidad en el giro que moverá las ruedas.

En la conexión de los cables es fundamental mantener el mismo orden en ambos motores (por ejemplo, si el rojo va en el terminal superior en uno, en el otro lo ponernos igual)

Hicimos una prueba para ver el sentido de giro de los motores y pusimos + y - para asegurarnos.

Estos motores pueden girar en ambas direcciones según cómo les llegue la corriente, esto es lo que permitirá que el coche avance o retroceda.

Después sujetamos los motores al chasis usando las piezas rectangulares y los tornillos.

Lo siguiente que hacemos es montar la rueda loca (rueda que gira libremente)

Después cogemos el soporte para las pilas y lo anclamos al chasis.

Para seguir, colocamos el interruptor en un hueco que hay en el medio del chasis, la placa Arduino y el puente H. También necesitamos una pila de 9V para alimentar el puente H.

El cable rojo va a la entrada 5V del módulo L298N

El cable negro (tierra) va al GND del módulo L298N y al GND de la placa Arduino


ENA y ENB -> pines 10 y 5 respectivamente. Estos 2 pines son los que controlan la velocidad de giro.

IN1 -> pin 9

IN2 -> pin 8

IN3-> pin 7

IN4-> pin 6

Para probar los motores y antes de seguir, podemos introducir este código:

// Motor 1

int ENA = 10;

int IN1 = 9;

int IN2 = 8;


// Motor 2

int ENB = 5;

int IN3 = 7;

int IN4 = 6;


void setup() {

 pinMode (ENA, OUTPUT);

 pinMode (ENB, OUTPUT);

 pinMode (IN1, OUTPUT);

 pinMode (IN2, OUTPUT);

 pinMode (IN3, OUTPUT);

 pinMode (IN4, OUTPUT);  

}


void loop() {

  Adelante();

  delay(5000);

  Atras();

  delay(5000);

  Derecha();

  delay(5000);

  Izquierda();

  delay(5000);

  Parar();

  delay(5000);

}


void Adelante (){

 //Dirección motor A

 digitalWrite (IN1, LOW);

 digitalWrite (IN2, HIGH);

 analogWrite (ENA, 100); //Velocidad motor A

 //Dirección motor B

 digitalWrite (IN3, HIGH);

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 100); //Velocidad motor B

}


void Derecha (){

 //Dirección motor A

 digitalWrite (IN1, HIGH);

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 255); //Velocidad motor A

 //Dirección motor B

 digitalWrite (IN3, HIGH);

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 255); //Velocidad motor A

}


void Izquierda (){

 //Dirección motor A

 digitalWrite (IN1, LOW);

 digitalWrite (IN2, HIGH);

 analogWrite (ENA, 255); //Velocidad motor A

 //Dirección motor B

 digitalWrite (IN3, LOW);

 digitalWrite (IN4, HIGH);

 analogWrite (ENB, 255); //Velocidad motor A

}


void Atras (){

 //Dirección motor A

 digitalWrite (IN1, HIGH);

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 255); //Velocidad motor A

 //Dirección motor B

 digitalWrite (IN3, LOW);

 digitalWrite (IN4, HIGH);

 analogWrite (ENB, 255); //Velocidad motor B

}


void Parar (){

 //Dirección motor A

 digitalWrite (IN1, LOW);

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 0); //Velocidad motor A

 //Dirección motor B

 digitalWrite (IN3, LOW);

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 0); //Velocidad motor A

} 



Las distintas funciones están separadas y tendríamos que ir probando una por una y comprobar el movimiento que hacen. Si no es el que deben hacer hay que cambiar los cables de conexión del motor o cambiar el código. Para ello hay que saber.

IN1 e IN2 son los que hacen que gire el motor.

Si IN1 está configurado con HIGH e IN2 como LOW y queremos cambiar el sentido de giro,IN1 debería estar a LOW e IN2 a HIGH


Por último, conectamos el bluetooth con Arduino de las siguiente forma:

HC06 Arduino

VCC –> 5V

GND – >GND

TXD –> pin 4

RXD –> pin2

El resultado ha sido:







Profesora: Mª Francisca Hernández
Alumnado : 4º ESO
Curso 2025-2026


No hay comentarios:

Publicar un comentario