Pages Menu
TwitterFacebook



BANNER2_ALT

Posted by on Ene 2, 2015 in Comunicación | 26 comments

Bluetooth HC-06 y HC-05 Android – Arduino

Bluetooth HC-06 y HC-05 Android – Arduino

 Módulo Bluetooth HC-06 y el HC-05 /
Comunicación App-Android a Arduino.

bluetooth hc-06

Módulo Bluetooth HC-05 y el HC-06 (6 pines) y (4 pines)

Módulo Bluetooth HC-06 y el HC-05, gracias a sus puertos TxD y RxD nos permite realizar comunicaciones inalámbricamente a 10mts max resultando muy fáciles de manejar gracias a su SPP (Serial Port Protocol) de bajo consumo ya que trabajan a 3.3V. Los módulos de bluetooth HC-05 y HC-06 resultan populares para aplicaciones con microcontroladores PIC y Arduino. Sacando ventaja de su tamaño 12.7mmx27mm.

En este tutorial vamos a explicar un poco del funcionamiento de estos módulos y como configurar los. También abordaremos las diferencias entre el HC-05 y el HC-06.

En la foto de portada del artículo vemos de izquierda a derecha:
los módulos HC-05 y HC-06 en formato amigable para protoboard.

Módulo Bluetooth HC-05
El módulo de bluetooth HC-06 que solo opera de modo Esclavo, a diferencia de su hermano HC-05, Que ofrece una mejora, on respecto a precio y características, ya que es un módulo Maestro-Esclavo, esto quiere decir que además de recibir conexiones desde una PC o tablet, (Objetivo de este primer Tutorial) Comunicación App-Android a Arduino. También es capaz de generar conexiones hacia otros dispositivos Bluetooth. (Objetivo del siguiente Tutorial) Comunicación Arduino a Arduino.

Esto nos permite por ejemplo, conectar dos módulos de bluetooth y formar una conexión punto a punto, para transmitir datos entre dos microcontroladores o dispositivos.

HOJA DE DATOS: Modulo Bluetooth HC-05

4 y 6 Pines

4 y 6 Pines

Ya que en este tutorial de 2 partes. Cubrimos 2 aspectos desde comunicación móvil y a otro modulo.

Se ocuparan 1 o 2 de cada Elemento:
– Módulos Bluetooth (al menos 1 debe ser HC-05)
– Arduino (Cualquier Modelo)
– App Android (BlueTerm, ArduDroid, Bluetooth Serial Control, JoyBT Commander etc…)
– Jumpers (de preferencia Macho-Hembra)
-LED y resistencia de 220 ohm.
– si es necesario alguna fuente de alimentación de 6-12V o 5V de comunicación serial.

Tutorial 1: Comunicación App-Android a Arduino.

Que puede servir desde prender y apagar Led´s hasta controlar un Robot de manera remota.
Para lo cual cualquier modulo Bluetooth es bueno, HetPRO: HC-05 o HC-06

Para esta parte usaremos, App-Android, un Arduino, un LED y el Modulo Bluetooth HC-06 (esclavo).
Ya que este módulo no ocupa ninguna clase de configuración, se destaca por solo tener 4 pines.

PASO 1: Establecer la App según la finalidad.

Hay diversas App´s en play.google.com/store solo es cuestión de buscar “arduino bluetooth” ó “bluetooth hc-06 arduino”

Entre las más clásicas y desde mi opinión las más útiles están:
• BlueTerm: aunque muy básico logra dar una idea muy primitiva de lo que se esta haciendo.
ArduDroid: es una app de testeo rápido, prender y apagar puertos y controlar PMW´s.
Bluetooth Serial Controller: My favorita puedes crear tu propia Botonera.
Joystick Bluetooth Commander: un Joystick y 4 Botones.
Arduino BT Mando PRO: muy intuitivo y logra usar el Giroscopio interno de tu Móvil.

Todos con el mismo código y principios de comunicación Serial.

PASO 2: Instalemos la aplicación a usar

Esta ves usaremos “Bluetooth Serial Controller” ya que es muy completo y fácil de usar Primero búsquenlo e Instálenlo.

Bluetooth_05

1) Una vez instalado les pedirá que prendan el Bluetooth de su equipo, si es que estaba apagado.

Bluetooth_08

2) Por default te da 9 botones y puedes controlar hasta 25 botones.

Bluetooth_09

3) Para configurar lo presionamos MENÚ donde sale el menú preferencias.

Bluetooth_10

4) La aplicación nos permite guardar A-E Botoneras

Bluetooth_13

5) Podemos modificar el Nombre de cada Botón.

Bluetooth_14

6) Podemos modificar el Comando de cada Botón.

Bluetooth_15

7) Podemos modificar la Visibilidad de cada Botón.

Bluetooth_16

8) Así como sus Preferencias.

Bluetooth_17

9) La configuración que usaremos seria Prender y Apagar un Led.

Bluetooth_18

10) Al presionar la Lupa nos permite conectar al Modulo. ya que tengamos Conectado y Programado nuestro Controlador.

Bluetooth_19

• Como les mencionaba se pueden emplear a gusto sus usos.

Ya que el modulo manda un Carácter a la vez  8 bits, Solo veremos a continuación la comunicación ‘C’ ya sea con int o char como variable declarada. Ya con práctica y conocimiento pueden practicar un poco con los siguientes ejemplos y guardar cadenas. De tal manera poder mandar Ordenes más claras como Datos y Procesos no solo Ordenes.

Comunicación “Joystick Bluetooth Commander”:
un Joystick y 4 Botones usando Codigo Cadena

PASO 3: Programar MicroControlador “Arduino”

” Ya que no sabemos que tiene cargado el Arduino es importante primero programarlo
y así prevenir voltajes de entrada indeseados a nuestros componentes. “

bluetooth hc-06

Arduino UNO + Modulo Bluethoot HC-05

Recordemos que la transmisión (abreviatura: Tx) va a nuestra recepción (abreviatura: Rx) y viceversa.
Aunque el Modulo puede operar a 5V lo recomendable son los 3.3V para el ahorro de energía.
Y como respuesta Colocar un LED con una resistencia de 220 ohm del Pin 12 a GND.

El programa será el siguiente:

//bluetooth hc-06
int ledPin = 12; // usamos un pin de salida al LED
int state = 0; // Variable lectrura serial

void setup() {
    pinMode(ledPin, OUTPUT);   //Declara pin de Salida
    digitalWrite(ledPin, LOW); //Normalmente Apagado
    Serial.begin(9600);
}

void loop() {
 //si el modulo a manda dato, guardarlo en estado.
  if(Serial.available() > 0){
       state = Serial.read();
  } // esta parte del código es para solo 1 Carácter o Unidad. 

 // si el estado es 0 ese sería Apagado “OFF”
 if (state == '0') {
    digitalWrite(ledPin, LOW);
    Serial.println("LED: off");
 }

 // de lo contrario si el estado es 1 ese sería Encendido “ON”
 else
 if (state == '1') {
     digitalWrite(ledPin, HIGH);
     Serial.println("LED: on");
 }

}

Listos con la App buscamos nuestro bluetooth hc-06 en la LUPA, “la contraseña es 1234 que ya viene de Fabrica.” la App debe notificarnos que esta conectado al Modulo y listo “1”´s y “0”´s Prenderán y apagaran el LED.

 

_________________

META

bluetooth hc-06 bluetooth hc-05 Arduinp

26 Comments

  1. Buen día, agradeceria que me pudieras ayudar en lo siguiente por favor.
    Actualmente estoy haciendo un puente levadizo con dos secciones que se abren y cierran con dos motores de corriente continua y desde bluetooth controlo que cada seccion se abra o se cierre con un programa llamado APP INVENTOR (es el que permite crear la aplicacion en android, buen creo que tienes conocimiento de él) el lio es este, mi profesor quiere que yo controle las secciones del puente desde varios celulares, por ejemplo un celular abre la sección 1 del puente y el otro celular abre la sección dos, te quería preguntar, ¿es eso posible? ¿el modulo HC – 05 (con pulsador en mi caso) puede recibir la conexión de varios celulares para controlar mi programa en arduino?, agradezco infinitamente tu ayuda y tus tutoriales.

    • Daniel, muy buena pregunta, la verdad nunca eh probado el módulo para conectividad de más de un dispositivo, dudo mucho que se pueda, aunque quizás este equivocado.

    • Yo estoy haciendo algunas pruebas. Con el modulo HC-06 solo un dispositivo a la vez se puede conectar. Si no necesitas que los celulares activen el puente a la vez solo te alcanzaria con que la aplicacion haga el comando y se desconecte para que otro celular pueda actuar, si necesitas que se haga en simultaneo evaluaria poner placa y modulo blu para cada seccion independiente. La aplicacion en este caso deberia activar las secciones del puente por separado.

      saludos

  2. Esta muy interesante tu pagina me ayudo mucho.No se si me podrías ayudar estoy realizando un proyecto con arduino uno + hc-06 y acelerometro ADXL345 con interface I2c para obtener los datos del acelerometro pero necesito enviar esos datos por el bluetooth hacia una aaplicaccion appAndroid la cual funciona (antes estaba usando el aceletometro ADXL335) ´pero cambie de acelerometro por tener mas prestaciones.Sabes como seria de hacer en el codigo para que se transmitan los datos.

    Gracia

  3. muy util tu post pero tengo una pregunta.. tengo dos arduino uno con bluethoo ht c05 cada uno .. la comunicacion esta perfecta del maestro envío datos al esclavo pero no puedo hacer que del esclavo mande datos al maestro…
    Tienes algun ejemplo basico donde pueda apagar led en ambos sentidos…?

  4. ¿Cuando hara el tutorial “Comunicación Arduino a Arduino”?
    y si ya esta ¿Donde lo puedo encontrar?
    De ante mano gracias, muy buenos Tutoriales (Y)

    • Martin, todavia no tenemos uno asi, pero que protocolo te interesaría para comunicarlos?

      • También me interesa. Estoy intentando comunicar dos arduinos mediante bluetooth. Sería genial que nos podrías ayudar. Encuentro muchas dificultades al pasar datos del esclavo al maestro. Parece que el maestro no localiza al esclavo correctamente. Espero publiques la segunda parte de esta entrada !! Gracias.

        • Gracias por tus comentarios

  5. sé que el hc-06 funciona solamente como esclavo, pero eso significa que no puede enviar datos?

    es decir, envio mis datos desde mi celular, pero en este caso puede el hc-06 enviar datos al celular?

    gracias :3

    • Si puede, solo significa que es el esclavo de la comunicación, esto es que no puedes inicializar a un celular o a un teclado por ejemplo, si lo quieres para mandar datos con el esclavo esta bien.

  6. hola, como puedo conectar el led?, y si utilizo el bluetooth hc-05 necesito configurar algo? urge respuesta porfavor! D:

    • David, va al pin 12, checa la parte de codigo “int ledPin = 12;” Saludos.

  7. Como podría hacer una APP que me detectara cuando alguein habré una puerta y el modulo bluetooth me mande una señal a mi APP en mi celular y este me avise que alguien entro ?

  8. ¿Cuantos dispositivos se pueden conectar al modulo bluetooth?

  9. Hola felicidades por el block muy bueno.
    Compartk a la pregunta de Ulises Garcia cuantos celulares se pueden conectar a la vez a un HC-06?

    Es para hacer un proyecto de una alarma.
    Si en casa hay 4 personal cada quien usara un celular.
    El cual activaran y desactivaran la alarma.

    Muchas gracias chicos edperi respuesta de parte de todos ustedes.
    Un saludo y bendiciones a sus vidas.

  10. Una pregunta, quisiera realizar el control de un carrito con mi celular usando el modulo hc-06 ¿como incluiria el bluetooth en mi programacion, ya saben con el high low de motores y eso?

    • David, puedes mandar un carácter “a” desde el celular y con el Arduino configurar una condición que si el byte recibido es igual a “a” entonces activa “high” la salida del pin conectado al controlador de motores y asi.

  11. buen tutorial esta configuración dice que es para el hc-06
    puede funcionar tambien para el hc-05 o se tiene que cambiar algunos comandos?

    • Solo el hc-06 es Configurable por lo que hc-05 solo puede ser esclavo.

  12. Muy interesante, viendo los vídeos de YouTube hice una App para encender y apagar leds, y quise aplicar en mi control de garaje. Pero, para ello necesito las instrucciones de que prenda el led e inmedatamante lo apague (tipo pulsador) y espere a la siguiente instrucción, no la repita sino cuando se lo haga a través del comando (celular).Gracias

    • Como comentas que realizas la app puedes colocar un contador o un ciclo para que lo encienda en un tiempo que necesitas

  13. Hola, no veo la forma de hacer funcionar el código para múltiples salidas digitales en relación a diferentes valores numéricos enviados vía bluethoot, alguna idea?

    • Hola buen dia, solo se puede estar comunicando con un solo dispositivo

Trackbacks/Pingbacks

  1. INVESTIGACION MODULO DE BLUETOOTH HC- 05 – COPOL-BLOG - […] http://hetpro-store.com/TUTORIALES/bluetooth_hc-06_app_arduino/                      […]

Post a Reply

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *