Construye tu propio carrito controlado con Arduino con Driver L298N

0
1423

En este tutorial aprenderemos construir un robot móvil controlado desde nuestro celular o Smartphone por medio de Bluetooth a través de un aplicación Android, utilizando el Driver L298N, ya que con este nos facilitara las conexiones.

Materiales:

1Arduino
Driver L298N
2 Motorreductores
1Módulo Bluetooth HC-06 o HC-05
1 Batería de 9V
1 Chasis con rueda
Cables para conexión
Cable P / Pila Cuadrada 9v
Switch Miniatura, De Palanca
Costo Aprox. $600.00

Armado

Tenemos que soldar los cables a los polos de los motores; esto lo realizaremos con un cautin, pasta para soldar y estaño.

También soldamos el cable de la pila al Switch Miniatura.

Procedemos a armar el chasis.

Colocamos los soportes de acrílico al chasis y fijamos los motorreductores con sus respectivos tornillos Colocamos las ruedas a los motorreductores.

Colocamos las ruedas a los motorreductores.

Fijamos la tarjeta Arduino Uno al Chasis con un tornillo.

Colocamos el Driver L298N 

Conectamos los motorreductores al driver

Utilizaremos el siguiente diagrama para realizar las correspondientes conexiones.

Colocamos los pines del arduino al Driver y unificamos tierra

 

Una vez colocado los elementos nos debe quedar asi.

Programación de  nuestro carrito

 

  • prueba de movimiento

Antes de continuar tenemos que verificar que los motores funcionen correctamente para ello utilizaremos un programa de testeo, primero retiramos las ruedas y cargamos el siguiente código.

/* Arduino Control Car V1.1 
 ARDUINO   L293D(Puente H)        
 2          N1
 4          N2
 7          N3
 8          N4

 
 
 El motor 1 se conecta a los out 1 y 2 Módulo L298N
 El motor 2 se conecta a los out 3 y 4 Módulo L298N*/
 

 


int izqA = 2; 
int izqB = 4; 
int derA = 7; 
int derB = 8; 

int estado = 'c';         // inicia detenido




void setup()  { 
  Serial.begin(9600);    // inicia el puerto serial para comunicacion con el Bluetooth
  pinMode(derA, OUTPUT);
  pinMode(derB, OUTPUT);
  pinMode(izqA, OUTPUT);
  pinMode(izqB, OUTPUT); 
  
  } 

void loop()  { 

    Stop();
    delay(1000);
    DeFrente();
    delay(1000);
    GirarIzqierda();
    delay(1000);
    GirarDerecha();
    delay(1000);
    Reversa();
    delay(1000);
        
  
}// fin void loop

//funciones

//funcion Stop

void Stop(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 0);    
    digitalWrite(izqA, 0);  
}

// hacia a delante

void DeFrente(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 1);  
    digitalWrite(izqA, 1);   
}
//Hace Girar a la Izquierda
void GirarIzqierda(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 0);  
    digitalWrite(izqA, 1); 
}

//Hace Girar a la Derecha
void GirarDerecha(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0);
    digitalWrite(izqA, 0);
    digitalWrite(derA, 1);        
}
// De Reversa

void Reversa(){
    digitalWrite(derA, 0);    
    digitalWrite(izqA, 0);
    digitalWrite(derB, 1);  
    digitalWrite(izqB, 1);  
}

Los motorreductores deberán girar hacia adelante por 1 segundo, posteriormente solo el motorreductor de la izquierda se moverá por 1 segundo, después lo hará el motorreductor de la derecha por el mismo lapso de tiempo, y por ultimo ambos motorreductores giraran hacia atrás por un segundo y esto se volverá a realizar dichas tareas.

En caso que no se obtenga el resultado esperado tenemos que verificar si realizamos correctamente las conexiones.

Ya una vez comprobado que funciona correctamente cargamos el código final.

Procedemos a poner nuevamente las ruedas a los motorreductores, colocamos el modulo Bluetooth y realizamos las conexiones a energía VCC a 5V y GND a Tierra. Es muy importante no conectar las conexiones a RX y TX ya que si lo hacemos no podremos cargar el programa.

Cargamos el siguiente código

/* Arduino Control Car V1.1 
 ARDUINO   L293D(Puente H)        
 2          N1
 4          N2
 7          N3
 8          N4

 
 
 El motor 1 se conecta a los out 1 y 2 Módulo L298N
 El motor 2 se conecta a los out 3 y 4 Módulo L298N
 

 
 Conexion del Modulo Bluetooth HC-06 y el Arduino
 ARDUINO    Bluetooth HC-06 
 0 (RX)       TX
 1 (TX)       RX
 5V           VCC
 GND          GND
 !!Cuidado!! Las conexiones de TX y RX al modulo Bluetooth deben estar desconectadas
 en el momento que se realiza la carga del codigo (Sketch) al Arduino.*/
 

int izqA = 2; 
int izqB = 4; 
int derA = 7; 
int derB = 8;           
int estado = 'c';         // inicia detenido




void setup()  { 
  Serial.begin(9600);    // inicia el puerto serial para comunicacion con el Bluetooth
  pinMode(derA, OUTPUT);
  pinMode(derB, OUTPUT);
  pinMode(izqA, OUTPUT);
  pinMode(izqB, OUTPUT); 



} 

void loop()  { 

  if(Serial.available()>0){        // lee el bluetooth y almacena en estado
    estado = Serial.read();
  }
  
  if(estado=='a'){           // Boton desplazar al Frente
    DeFrente();      
  }
  
  if(estado=='b'){          // Boton IZQ 
    GirarIzqierda();     
  }
  
  if(estado=='c'){         // Boton Parar
    Stop();  
  }
  
  if(estado=='d'){          // Boton DER
    GirarDerecha();
  } 

  if(estado=='e'){          // Boton Reversa
    Reversa();    
  }
}// fin void loop

//funciones

//funcion Stop
void Stop(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 0);    
    digitalWrite(izqA, 0);  
}

// hacia a delante

void DeFrente(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 1);  
    digitalWrite(izqA, 1);   
}
//Hace Girar a la Izquierda
void GirarIzqierda(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0); 
    digitalWrite(derA, 1);  
    digitalWrite(izqA, 0); 
}

//Hace Girar a la Derecha
void GirarDerecha(){
    digitalWrite(derB, 0);     
    digitalWrite(izqB, 0);
    digitalWrite(izqA, 1);
    digitalWrite(derA, 0);        
}
// De Reversa

void Reversa(){
    digitalWrite(derA, 0);    
    digitalWrite(izqA, 0);
    digitalWrite(derB, 1);  
    digitalWrite(izqB, 1);  
}

Después de terminar la carga conectamos el modulo Bluetooth RX a TX de Arduino y TX a RX del Arduino.

Así nos debe quedar terminado

Este sería el diagrama final después de cargar el código y realizar todas las conexiones.

App para controlar el Carrito Bluetooth

Para controlar el carrito usaremos una aplicación para celular, o debemos de instalar en nuestro celular la aplicación, esta aplicación esta realizada en App Inventor.

Clic en la imagen para descargar la aplicación
Clic en la imagen para descargar la aplicación

**Nota:

Es importante emparejar el modulo bluetooth con el dispositivo Android

Esta aplicación cuenta con 6 botones, 4 botones para dar dirección nuestro carrito, un botón de Stop y un botón para conectar al Bluetooth.

Una vez que tengan todo listo, tan solo hay que abrir la App, conectarnos a nuestro modulo Bluetooth y empezar a mover nuestro robot con los botones.

Dejar respuesta