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 todaviá 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

(33) Comments

  • Disculpa me aparece este error “avrdude done. Thank you.” me podrias ayudar a solucionarlo

    • Parece que no puede subir el programa, asegúrate de tener bien seleccionado el puerto y el tipo de Arduino que estás usando. Si no funciona, intenta mandarnos más información del error.

    • Majo

    Hola me gustaria saber si se puede realizar este robot con un modulo bluethoot HC-5?

    • Lucas

    hola, el código nos funciono de maravillas para un proyecto de bb8. pero tengo el problema de la cita en Harvard, me falta información sobre el código. por favor responder lo antes posible.
    saludos

    • Hola Lucas, nos encantaría que compartieras el proyecto en nuestra web. ¿Qué es lo que necesitas?

    • Juan Camilo Cruz

    Hola que tal, este proyecto me ha funcionado de maravilla en mi smartphone, lo que si veo algo raro, es que cuando quiero conectarlo a otro smartphone, primero el BT no me lo reconoce, aclarando que habia deshabilitado el BT de mi smartphone, que puede estar pasando?

    • Hola Juan, pues no le veo mucho sentido… sólo se me ocurre el otro smartphone sólo soporte bluetooths 4.0, como ocurre con los apple.

  • Buenas tardes
    He seguido todo el programa y se conecta al bluetooth pero cuando compilo el programa los motores se ponen en marcha solos, de forma autónoma y giran locos hacia delante sin poder controlarlos con el bluetooth a pesar de estar conectado. ¿qué hago mal?. Gracias !!!!

    • Hola Marc, ¿Cuando te ocurre eso se te desconecta el bluetoth? ¿O se mantiene la conexión?

  • He conectado todos los cables [arduino, motores y puente H]. Ahora me gustaría saber si basta con descargar el programa de su enlace: coche_con_bluetooth, y lo lleva al arduino y luego configurar el smartphone. O es necesario hacer alguna otra configuración.

    Dígame una cosa el programa completo es éste: https://marinhasdosal-my.sharepoint.com/:w:/g/personal/jlopes_aemarinhasdosal_com/ERUgtfW2Js9PkQaWN_FeyusBgzD7lCSL6-FOsy7rjc8eBA?e=ZNvkZ8

    Al cargar el programa tengo que desconectar los cables del módulo Bluetooth.

    gracias.

    • Hola José, como estamos utilizando los pines 2 y 3 con la librería software serial no hace falta que lo desconectes para cargarlo.

      Por otra parte, sólo necesitas configurar el bluetooth si quieres cambiarle el nombre, la contraseña o la velocidad. Si no ni si quiera te haría falta eso, sólo con conectarlo y cargar el programa debería funcionarte.

    • Miguel

    Hola buenas,
    Tengo el coche entero montado y los cables revisados mil y una veces. Tambien consigo conectar el bluetooth con la app. A continuación, procedo a acelerar i girar i suenan pitidos. Como puedo solucionarlo para que funcione el coche y ademas no se escuchen?

    • Hola Miguel, normalmente cuando suenan pitidos es que los motores están intentando girar pero la alimentación es insuficiente.

    • Patricia

    Hola, he probado programar y conectar el arduino como indicáis en el tutorial anterior (https://www.prometec.net/coche-programa-control/) y programar el bluetooth como en este, con la misma aplicación. No consigo que se mueva el coche. Tengo la misma placa y el mismo puente h. ¿Por qué puede ser?
    Gracias.

    • Hola PAtricia, por descartar cosas ¿Has probado a mover las ruedas desde el monitor serie? Si es así lo más probable es que la velocidad del programa y a la que está configurado el hc-06 sean diferentes o que los cables rx y tx no estén correctamente conectados.

  • Buen día, tengo un problema, pude hacerlo andar pero solo me funciona mientras está conectado a la computadora. Cuando lo desconecto sigue todo prendido pero no responde. Que podré estar haciendo mal? Saludos

    • Si te funciona con el bluetooth cuando está conectado tiene que ser que al desconectarlo la alimentación no es suficiente. UN saludo.

    • Edith

    Buenas, si tengo un modulo hc-05 se puede usar el mismo programa?

    • Hola Edith, el programa sería igual pero la manera de configurar el módulo Bluetooth es diferente. Los comandos AT cambian. Un saludo.

      • como tendria que hacer para configurarlo con un módulo hc-05???. gracias

        • Hola Ángel, los comandos para configurar el HC-05 son diferentes, a ver si tengo tiempo y escribo un tutorial para las diferencias entrehc-05 y hc-06 a la hora de configurarlos. Para cambiar el nombre es AT+NAME=Nombre para el password AT+PSWD=Pin Además tienes que cambiar los Serial.print por Serial.println

  • Hola al configurar el módulo bluetooth pongo el mismo código que hay ahí pero no sé cambia el nombre ni la contraseña.

    • Hola Diego, asegúrate que tines bien conectados los cables, del Tx del HC-06 al Rx (pin 2 de Arduino) y del Rx del hc-06 l tx del arduino (pin 3).

  • la programacaion complñeta es ese documento que descargamos¡?¡?
    se puede hacer con cuatro motores cual seria la priogramacion¡?¡?

    • Hola Ales, sí es la programación completa. Para 4 motores sería igual pero tendrías que compartir la alimentación de los motores 2 a 2 o usar otro controlador que pueda manejar 4 motores de forma independiente. Un saludo.

  • Hola, una cosa, cuando se tiene que configurar el modulo HC-06, que mas se tiene que hacer, porque lo enchufo todo y subo el programa pero no se me canvia el nombre del HC-06 ni la contraseña. GRACIAS

    • Hola mArti, debería ser suficiente con cargar el programa para que te cambie el nombre y la contraseña, así como la velocidad. Asegúrate que tienes correctamente conectados los cables de tx y rx del bluetooth a rx y tx del arduino respectivamente.

    • Eduardo

    hola muy buenos tutoriales, cambiando el giro pero relacionado con el modulo bt hc06. Yo me conecto y enciendo dos interruptores magneticos en puertas de casa.. en MITAPP INVENTOR, ya tengo funcionando la aplicacion en android,, pero quisiera saber o aprender como puedo hacer que se prenda una alarma virtual ( un sonido, etc) si se llegasen a activar cualesquiera de los sensores. gracias ojala si pudieras ayudarme….

    • Hola Eduardo, la verdad es que aunque nos encanta, apenas hemos tenido tiempo de trabajar con app inventor. Así que de momento no puedo ayudarte, a ver si alguien que haya trabajado con ello puede echarte una mano.

    • Javier

    Muchísimas gracias por contestar, seguiré intentándolo a ver di doy con la tecla, estoy seguro que no debe ser muy difícil ya que los códigos de ambos son bastante fáciles y bien explicados pero cuando uno no tiene mucha idea por no decir ninguna de programacion lo más fácil es complicado o lioso, estoy seguro que cuando logre averiguar o descifrar algún punto que no veo claro se me encenderá la bombilla. XDXD. Gracias y saludos.

    • Javier

    Hola, en primer lugar Felicidades por estos excelentes tutoriales, la verdad es que se entienden muy bien. A ver si me podría ayudar por favor, tengo este coche montado con el puente h y todo bien, compre un mando de Ps2 y probado como el tutorial también me lo reconoce pero no se como ligar el coche al control con el mando ps2. Aquí en este caso el control es por bluetooch y en el caso del coche con ps2 el control del motor es con motor shield v1 el cual lleva una librería incluida y celebraciones código es distinto. Podría decirme por favor como poder controlar este coche de dos motores con el puente h l298 y controlarlo con el mando Ps2??? Llevo días dándole vueltas y no hay manera. Muchas gracias de antemano. Saludos.

    • Hola Javier, la descripcion de como manejar el mando de la ps2 esta bastante extensamente descrito en el tuto que mencionas y el uso de l298n es ta tambien en otro tuto, es cierto que que no hay uno con ambos elementos pero deberia ser sencillo que los mezcles sin problemas

Give a Reply

WordPress Anti-Spam by WP-SpamShield