Construye tu propio carrito controlado con Arduino y bluetooth. V1.0

0
6027

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.

Materiales:

1Arduino
1 Driver Puente H (DRIVER L293D)
2 Motorreductores
1Módulo Bluetooth HC-06 o HC-05
1 Batería de 9V
1 Chasis con rueda
1 Protoboard
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 la protoboard.

Colocamos el puente H a la protoboard

Utilizaremos el siguiente diagrama para realizar las correspondientes conexiones.

Conectamos los motorreductores a al puente H

Continuamos conectando los demás elementos.

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 test Car V1.0 VicosTech
 ARDUINO   L293D(Puente H)        
 3          10
 5          15
 6           2
 11          7
 5V         1, 9, 16
 GND        4, 5, 12, 13
 
 
 El motor 1 se conecta a los pines 6 y 11 del Puente H
 El motor 2 se conecta a los pines 3 y 5 del Puente H
 
 La fuente de alimentacion de los Motores se conecta a tierra y
 el positivo al pin 8 del puennte H. */
 


int izqA = 6; 
int izqB = 11; 
int derA = 5; 
int derB = 3; 
int vel = 100;            // Velocidad .de los motores (0-255)
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(){
    analogWrite(derB, 0);     
    analogWrite(izqB, 0); 
    analogWrite(derA, 0);    
    analogWrite(izqA, 0);  
}

// hacia a delante

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

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

void Reversa(){
    analogWrite(derA, 0);    
    analogWrite(izqA, 0);
    analogWrite(derB, vel);  
    analogWrite(izqB, vel);  
}

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.0 Vicos Tech
 ARDUINO   L293D(Puente H)        
 3          10
 5          15
 6           2
 11          7
 5V         1, 9, 16
 GND        4, 5, 12, 13
 
 
 El motor 1 se conecta a los pines 6 y 11 del Puente H
 El motor 2 se conecta a los pines 3 y 5 del Puente H
 
 La fuente de alimentacion de los Motores se conecta a tierra y
 el positivo al pin 8 del puennte H.
 
 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 = 6; 
int izqB = 11; 
int derA = 5; 
int derB = 3; 
int vel = 100;            // Velocidad .de los motores (0-255)
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(){
    analogWrite(derB, 0);     
    analogWrite(izqB, 0); 
    analogWrite(derA, 0);    
    analogWrite(izqA, 0);  
}

// hacia a delante

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

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

void Reversa(){
    analogWrite(derA, 0);    
    analogWrite(izqA, 0);
    analogWrite(derB, vel);  
    analogWrite(izqB, vel);  
}

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.

Compartir
Artículo anterior¿Qué es Arduino?
Artículo siguienteDriver L298N puente H

Dejar respuesta