bclose

AÑADIR BLUETOOTH AL COCHE

Controlar el coche por bluetooth

Objetivos

 

    • Conectar y configurar el módulo Bluetooth HC-06.
    • Incorporar el Bluetooth al programa de control.
    • Conectar el smartphone con nuestro el HC-06 y descargar la aplicación de control.
 

Material requerido.

CONECTAR Y CONFIGURAR EL HC-06

 

Vamos a utilizar el módulo Bluetooth para poder comunicarnos por el puerto serie de nuestro Arduino sin necesidad de cables, pero para no ocupar el único puerto serie que tiene nuestro Arduino UNO, vamos a utilizar la librería Software Serial que nos permitirá simular en puerto serie utilizando otros pines.

Nosotros vamos a utilizar el pin 2 como Rx y el 3 como Tx, de forma que el esquema de montaje para incluir el HC-06 en el coche sería el siguiente. Recordad que el las conexiones entre el Arduino y el HC-06 son cruzadas, es decir, el Tx de uno con el Rx del

hc-06 coche

Antes de poder utilizar el módulo vamos a configurarlo para ponerle el nombre y la contraseña que queramos.  Simplemente declaramos los pines que vamos a utilizar con la librería Software Serial y cambiamos el nombre y la contraseña. Podéis cambiar “PROMETEC” y “5678 por el nombre y la contraseña que queráis que tenga vuestro dispositivo. Aquí podéis descargarlo: configurar_hc-06.

#include <SoftwareSerial.h>
SoftwareSerial BT(2,3); // RX, TX

String nombre = "PROMETEC"; //Cambiar PROMETEC por el nombre deseado
String password ="5678"; //Cambiar 5678 por el la contraseña deseada

void setup()
{
 BT.begin(9600);
 pinMode (13,OUTPUT);
 digitalWrite(13,LOW) ;
 BT.print("AT");
 delay(1000);
 BT.print("AT+NAME");
 Serial.print(nombre);
 delay(1000);
 BT.print("AT+PIN");
 BT.print(password);
 delay(1000);
 digitalWrite(13,HIGH) ;
}
coche teledirigido

 

ADAPTAR EL PROGRAMA DE CONTROL

 

Ya tenemos hecho el programa de la sesión anterior, y ahora únicamente vamos a incorporar la funcionalidad Bluetooth.  Así que para empezar le incorporamos la librería Software Serial y creamos la instancia donde declaramos los pines que va a utilizar.

#include <SoftwareSerial.h>
SoftwareSerial BT(2,3); // RX, TX

Y a partir de ahí sólo tenemos que sustituir las instucciones en las que usamos el puerto serie por la instancia BT que hemos creado:

void setup()
{
 BT.begin(9600) ;
 // Declaramos todos los pines como salidas
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}

void loop()
{
 // Motor gira en un sentido
 if (BT.available())
 switch (BT.read())
 {
 case 'F':
 Adelante();
 break;
 case 'B':
 Atras();
 break;
 case 'R':
 Derecha();
 break;
 case 'L':
 Izquierda();
 break;
 case 'S':
 Parar();
 break;
 }
}

El resto del programa no necesitaría ningún cambio. Lo podéis descargar aquí: coche_con_bluetooth.

 

SINCRONIZAR EL SMARTPHONE Y EL HC-06 Y DESCARGAR EL PROGREAMA DE CONTROL

 

Para vincular el smartphone y el Bluetooth del coche implemente vamos a las opciones de Bluetooth de nuestro teléfono, buscamos el dispositivo con el nombre que hayamos escogido e introducimos la contraseña.

HC-06 smartphone

 

Ahora vamos a descargar la aplicación que usaremos para controlar el coche. Hay muchas, muchísimas, pero nosotros hemos elegido la aplicación Arduino Bluetooth RC Car porque no parece la más completa y más sencilla de usar. Además cuadra con los caracteres que hemos utilizado para controlar la dirección de movimiento del coche.

aplicación bluetooth

El círculo rojo indica que todavía no estamos conectados. Para hacerlo hay que pulsar en el icono con forma de engranaje, seleccionar “connect to car” y elegir nuestro dispositivo HC-06. Si todo va bien debería cambiar el círculo a verde.

rc control conectar

Y ya podemos empezar a jugar con nuestro coche. Además de manejarlo con las flechas de la pantalla podemos también controlarlo utilizando el acelerómetro del móvil seleccionando “Accelerometer Control” en el menú de ajustes, donde también nos permite ver qué caracteres son los que envía la aplicación al Arduino.

acelerometro

Aquí podéis ver el resultado y cómo jugamos un poquito con él:

 

Resumen de la sesión

 

En esta sesión hemos aprendido varias cosas importantes:

 
  • A configurar los módulos Bluetooth HC-06.
  • Cómo integrar el Bluetooth en nuestro coche teledirigido.
  • Cambiar el programa para utilizar el Bluetooth.
  • Sincronizar el HC-06 con el Smartphone y usar una aplicación para controlar el coche.

LikeUsOnFacebook_Icon

(48) Comments

    • Dani

    Tengo un problema, conecto todo igual y meto a la placa arduino la misma programación, conecto el bluetooth a mi mobil y la app no hace nada, el bluetooth no envía señal de la aplicación a la placa

      • Ivan Uriarte

      Hola DAni, sin verlo es difícil saber dónde puede estar el error. Normalmente la cosa está en las conexiones. Te funcionaba cuando le enviábamos desde el teclado?

  • Hola, tengo un problema y no se que es lo que falla. Lo estoy haciendo con un HC-05 que ya lo tengo configurado como esclavo y a 9600 baudios. He cargado vuestro programa cambiando solo los pines; (10 y 11 para rx y tx), ENA (7), IN1(3),IN2(4), IN3(5), IN4(6) y ENB(8). Me puedo conectar con el móvil al bluetooth pero luego en la app no me responde a nada. He comprobado las conexiones, el bluetooth hace un doble parpadeo y sigue sin funcionar. Gracias y saludos.

      • Ivan Uriarte

      Te encuentra el móvil el HC05?

      • tengo el mismo problema, tambien estoy usando un HC-05, utilizo la misma configuración de pines que vosotros, me conecto al modulo bluetooth sin problemas pero a la hora de presionar algo, no pasa nada, veo que en el video, al presionar algo de la aplicación, en el arduino se enciende un led, cosa que no pasa en el mío. qué podrá ser?

Give a Reply

WordPress Anti-Spam by WP-SpamShield