Cómo utilizar los módulos Bluetooth HC-05 y HC-06 con Arduino

Introducción

 

En el mundo de Arduino y la electrónica de bricolaje, los módulos Bluetooth HC-05 y HC-06 son dos de las opciones más populares para la comunicación inalámbrica. En este tutorial, te guiaremos paso a paso en cómo puedes incorporar estos módulos en tus proyectos de Arduino.

Estos modulos se configuran por medio de comandos AT, de forma serial, por lo que podemos usar un convertidor USB-serial (como el CP2102) o algún microcontrolador o placa de desarrollo (como Arduino) para configurarlos.

Primero, te demostraremos cómo configurar estos módulos utilizando Arduino. 

Después, aprenderemos a configurar los módulos usando un convertidor serial. 

En la siguiente parte del tutorial, conectaremos los módulos para enviar datos a un teléfono celular. En este punto, desarrollaremos una comprensión práctica de cómo estos módulos interactúan con otros dispositivos.

Finalmente, configuraremos el HC-05 para que funcione en modo maestro y el HC-06 en modo esclavo. De esta forma, podrán comunicarse entre sí, demostrándote la versatilidad de estos módulos.

HC-05 y HC-06

HC-05: Es un dispositivo Bluetooth de clase 2 diseñado para la comunicación serial. Puede operar tanto en el modo maestro como en el esclavo. Esto significa que puede iniciar una conexión con otros dispositivos Bluetooth o aceptar conexiones de ellos. Puede ser configurado con varios parámetros, como la velocidad de baudios, el nombre del dispositivo, la contraseña, etc.

HC-06: Es un dispositivo Bluetooth de clase 2 diseñado para la comunicación serial. Sin embargo, a diferencia del HC-05, el HC-06 sólo puede operar en el modo esclavo. Esto significa que sólo puede aceptar conexiones de dispositivos Bluetooth, pero no puede iniciarlas. El HC-06 es ideal para proyectos donde la funcionalidad de un maestro Bluetooth no es necesaria.

Configuración con Arduino

Puedes usar el arduino y la libreria "SoftwareSerial" para establecer comunicación con los módulos y poder configurarlos.

Se describe la conexión de Arduino con el HC-06 ya que usaremos los mismos pines en el HC-05, este último cuenta con dos pines adicionales pero no se usarán en este ejemplo.

Para establecer la comunicación sube el sketch que te proporcionamos a continuación el cual envia los caracteres recibidos por monitor serial al módulo Bluetooth y viceversa:

 Para el caso del HC-05 debes cambiar la linea 15

mySerial.begin(9600);

por:

mySerial.begin(38400);

 Ya que usa una velocidad de 38400bps para su configuración. 

Abre el monitor serial a 9600 bauds y asegurate de tener activado el envio de Nueva linea y Retorno de carro (\r\n) ya que los módulos esperan estos caracteres en la trama de datos para aceptar cada comando. 

 

 Por defecto el HC-06 puede recibir comandos AT después de encenderlo, en cambio el HC-05 necesita que mantengamos presionado el boton incorporado en el módulo antes de conectarlo y soltarlo cuando encienda, si lo has hecho bien el LED de estado debe parpadear cada 2 segundos.

En este tutorial usaremos los comandos AT básicos pero también puedes consultar en las hojas de datos de cada módulo todos los comandos y para que sirven cada uno, si estos comandos no te funcionan te recomendamos probar con otros ya que pueden cambiar un poco de versión a versión.

Hoja de datos del HC-05

Hoja de datos del HC-06

Para configurar el HC-06 por monitor serial envia los comandos:

 HC-06 HC-05
AT AT
AT+BAUD4 AT+UART=9600,0,0
AT+NAMETecneu AT+NAME=Tecneu
AT+PIN1234 AT+PSWD="1234"

 

Cada uno realiza la siguiente función:

  • Comando de prueba: retorna "OK".
  • Cambia la velocidad de transmisión (9600bps)
  • Cambia el nombre del dispositivo.
  • Cambiar la contraseña de emparejamiento Bluetooth

 

Deben retornar OK.

Para reiniciar los los módulos y que entren en modo emparejamiento desconecta el cable GND y vuelve a conectarlo.

Configuración con Convertidor serial

Esta es una alternativa para configurar tu módulo , si ya lo configuraste con Arduino ya no es necesario este paso.

Asegurate de tener instalado el driver correspondiente a tu convertidor, al conectarlo debe aparecer en el administrador de dispositivos como en la siguiente imagen.

Conexión

Necesitamos algún programa que permita establecer una comunicación serial, en este caso usamos Serial Port Utility pero puede ser cualquier otro configurado de la forma que detallaremos aquí.

Debes verificar que el puerto COM seleccionado corresponda al de tu convertidor, el baud rate sea el mismo que configuraste en tu módulo (9600 en este caso), y la configuración por defecto de la comunicación serial en estos módulos, trama de datos de 8 bits, paridad ninguna, 1 bit de stop, control de datos ninguno.

Tal como en la terminal de arduino asegurate de enviar una nueva linea y retorno de carro.

 Inicia la comunicación serial con el triangulo azul "start" y envia los comandos que vimos en la sección anterior.

También puedes enviar el comando AT+VERSION en el HC-06 y AT+VERSION? en el HC-05 para obtener la versión que estas usando.

Para reiniciar los los módulos y que entren en modo emparejamiento desconecta el cable GND y vuelve a conectarlo.

 Emparejamiento con dispositivo android.

Necesitaremos una app que nos permita ver la trama de datos que se intercambia por Bluetooth. Instala y configura como te decimos a continuación.

Busca en los dispositivos disponibles y debe aparecer el módulo.
Empareja con el pin que estableciste (por defecto 1234).
Para conectarte al nuevo dispositivo busca en el menú de la izquierda la pestaña dispositivos, y seleccionalo, puedes ver también la dirección MAC del módulo la cual nos servira para el siguiente paso del tutorial.
Prueba a enviar y recibir datos del monitor serial al teléfono y viceversa. 
 

Usar el HC-05 como maestro y el HC-06 como esclavo

Esto es muy útil cuando quieres intercambiar datos entre microcontroladores.

El primer paso es configurar el HC-05 con comandos AT para que funcione como maestro y pasarle la dirección MAC del HC-06 obtenida mediante la aplicación en la sección anterior.

Los comandos son los siguientes:

  1. AT+BIND? Nos dice la dirección del HC-05.
  2. AT+ROLE=1 Modo maestro (por defecto 0=esclavo).
  3. AT+CMODE=0 Le decimos que se conecte a una dirección especifica.
  4. AT+BIND=98DA,20,06CA5D Le pasamos la dirección del esclavo (HC-06= 98:DA:20:06:CA:5D).
  5. AT+UART=9600,0,0 Configura la comunicación serial con los mismos parámetros por defecto del HC-06.

 Después de configurarlo sube al arduino conectado al HC-05 el sketch del primer paso con la velocidad a 9600bps, ya que aunque usa 34800bps para usar comandos AT, la velocidad de transmisión de ambos módulos debe ser la misma.

Asegurate también de que el pin de emparejamiento sea el mismo en ambos.

Desconecta y conecta el HC-05 para que entre a modo de emparejamiento.

Sube el siguiente sketch a un Arduino con el HC-06 conectado :

 En el monitor serial de Arduino o en un convertidor serial al que este conectado el HC-05 debe llegar la trama de datos "Hola" enviada por el HC-06.

  

 Conclusión

Al final de este tutorial, te has sumergido completamente en el mundo de la conectividad inalámbrica a través de Bluetooth. Has adquirido habilidades prácticas valiosas para manejar y configurar los módulos Bluetooth HC-05 y HC-06.

Como resultado, ahora estás equipado con la capacidad de incorporar módulos Bluetooth en tus proyectos Arduino. Ya sea que estés diseñando un sistema de automatización del hogar, un robot controlado por Bluetooth, o simplemente experimentando con diferentes formas de conectividad inalámbrica, estos módulos te ofrecen la flexibilidad y funcionalidad que necesitas.

 

 

 

 

 

 

 

 

Productos Relacionados

Ver artículo

Ver artículo

Ver artículo

Bluetooth

Deja un comentario