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.
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.
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.
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:
- AT+BIND? Nos dice la dirección del HC-05.
- AT+ROLE=1 Modo maestro (por defecto 0=esclavo).
- AT+CMODE=0 Le decimos que se conecte a una dirección especifica.
- AT+BIND=98DA,20,06CA5D Le pasamos la dirección del esclavo (HC-06= 98:DA:20:06:CA:5D).
- 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
No comments
comments