Tutorial: Configuración del Módulo Bluetooth 4.0 HM-10 CC2541 con Arduino - Tecneu

Introducción

La comunicación inalámbrica es una característica clave en muchos proyectos de electrónica y robótica modernos. Bluetooth, siendo un protocolo de comunicación inalámbrica de corto alcance, es especialmente popular debido a su universalidad en dispositivos móviles y ordenadores. Este tutorial se centra en un módulo Bluetooth especialmente versátil y asequible, el HM-10.

En este tutorial, aprenderás cómo integrar el módulo Bluetooth HM-10 en tu proyecto Arduino, desde la conexión del hardware hasta la configuración del software. Además, se proporcionan instrucciones detalladas para conectar el módulo a una aplicación móvil con la finalidad de enviar y recibir datos de manera efectiva. Estos pasos te permitirán establecer una comunicación fluida entre tu módulo Bluetooth y tu smartphone, aprovechando al máximo las capacidades de ambos.

¿Qué es el HM-10?

El módulo Bluetooth HM-10 contiene un chip CC2541, que es un microcontrolador de sistema en chip (SoC) producido por Texas Instruments. Este SoC es conocido por su capacidad para facilitar comunicaciones Bluetooth de baja energía, lo que lo hace ideal para aplicaciones que requieren eficiencia energética.

El CC2541 integra todos los componentes clave para una solución Bluetooth en un solo chip. Incluye tanto un procesador como una radio Bluetooth, lo que permite que el módulo HM-10 se comunique de forma inalámbrica con otros dispositivos Bluetooth.

El CC2541 soporta Bluetooth 4.0, también conocido como Bluetooth Low Energy (BLE) o Bluetooth Smart, que es una versión del protocolo de comunicación Bluetooth diseñada para ser más eficiente en términos de energía que las versiones anteriores. Por tanto, el módulo HM-10, gracias al chip CC2541 que contiene, es una opción versátil y eficiente para añadir capacidades Bluetooth a tus proyectos de microcontroladores. 

Materiales Necesarios

  • Arduino UNO o similar
  • Módulo Bluetooth CC2541
  • Cables de conexión

Conexión del Módulo Bluetooth CC2541

Primero, conecte los pines del módulo CC2541 a su Arduino de la siguiente manera:

  • TXD del CC2541 al pin 10 del Arduino (RX)
  • RXD del CC2541 al pin 11 del Arduino (TX)
  • VCC al pin 5v del Arduino
  • GND al pin GND del Arduino

 

Programación

A continuación, carga el siguiente código en tu Arduino:

Este código enviará varios comandos AT al módulo Bluetooth y mostrará las respuestas en el Monitor Serial.

Una vez cargado el código, puedes abrir el Monitor Serial a través de "Tools" > "Serial Monitor". Asegúrate de establecer la tasa de baudios a 9600 para ver correctamente los resultados.

Reinicia el Arduino usando el boton de Reset de la placa.

Deberías ver las respuestas a los comandos AT que has enviado al módulo Bluetooth. Esto te permitirá verificar que el módulo está funcionando correctamente y configurarlo según tus necesidades.

En el código proporcionado, se envían varios comandos AT al módulo Bluetooth. Los comandos AT son instrucciones específicas utilizadas para configurar y consultar módulos de comunicación, como los módulos Bluetooth. Aquí está lo que cada comando en el código significa:

  • AT\r\n: Este es un comando de prueba básico que se utiliza para comprobar si el módulo Bluetooth está funcionando correctamente. Si el módulo está funcionando correctamente, debería responder con un "OK".

  • AT+VERSION\r\n: Este comando se utiliza para consultar la versión del firmware del módulo Bluetooth.

  • AT+NAME\r\n: Este comando se utiliza para consultar el nombre del dispositivo Bluetooth.

  • AT+PIN\r\n: Este comando se utiliza para consultar el PIN de emparejamiento del módulo Bluetooth.

  • AT+HELP\r\n: Este es un comando de ayuda que puede proporcionar información sobre otros comandos AT que el módulo admite.

Cada comando termina con \r\n, que es una secuencia de dos caracteres que representan un retorno de carro (\r, ASCII 13) y una nueva línea (\n, ASCII 10). Esta secuencia señala el final de cada comando.

Cuando se envían comandos AT a través del Monitor Serial en el IDE de Arduino, es crucial asegurarse de que la configuración "Both NL & CR" esté seleccionada en el menú desplegable de la parte inferior del Monitor Serial.

 A continuación, procederemos a varias configuraciones personalizadas para nuestro módulo Bluetooth.

  1. Cambio de nombre del dispositivo: Queremos que nuestro dispositivo se llame "TECNEU". Para lograrlo, enviaremos el comando AT+NAMETECNEU. Este comando cambiará el nombre del dispositivo Bluetooth a "TECNEU".

  2. Reiniciar el módulo: Después de cambiar el nombre del dispositivo, es importante reiniciar el módulo para asegurarnos de que los cambios surtan efecto. Esto se hace enviando el comando AT+RESET.

  3. Cambio de rol a esclavo: Ahora queremos que nuestro dispositivo actúe como un esclavo en las comunicaciones Bluetooth. Para hacerlo, enviamos el comando AT+ROLE0.

  4. Reiniciar de nuevo el módulo: Finalmente, como hicimos luego de cambiar el nombre, es necesario reiniciar el módulo después de cambiar el rol. De nuevo, esto se logra enviando el comando AT+RESET. 

 

Conexión del Módulo Bluetooth Con la Aplicación BLE Terminal Free

La aplicación BLE Terminal Free, disponible en Google Play Store, permite a los dispositivos Android conectarse a módulos Bluetooth de baja energía (BLE) para enviar y recibir datos. A continuación, te explicamos cómo puedes utilizar esta aplicación para conectarte a tu módulo Bluetooth.

Antes que nada, debes descargar e instalar la aplicación BLE Terminal Free en tu dispositivo Android. Puedes encontrarla en Google Play Store buscando "BLE Terminal".

Asegúrate de que el Bluetooth está activado en tu dispositivo Android. Una vez instalada, abre la aplicación BLE Terminal Free.

Haz clic en el botón de "SEARCH" en la aplicación para buscar dispositivos Bluetooth disponibles. Dale a la aplicación los permisos necesarios.

 

Busca el nombre del módulo Bluetooth al que te gustaría conectarte. En nuestro caso, deberías buscar "TECNEU" porque ese es el nombre que configuramos anteriormente para nuestro módulo. Haz clic en el nombre del módulo en la lista para iniciar la conexión.

{{ article.image.alt | escape }}
Cambia lo siguiente en la pestaña de Ajustes:
Conectate con el botón "CONNECT" y te saldrá un mensaje de "SERVICE UUID not found", da clic en el botón de "SELECT SERIAL SERVICE" y reestablece la conexión.
 

Una vez que se establece la conexión, puedes comenzar a enviar y recibir datos. Para enviar datos, simplemente escribe el texto que deseas enviar en el campo de entrada y haz clic en el botón de "SEND" (Enviar).  Los datos enviados desde la aplicación se podrán ver en el Monitor Serial del IDE de Arduino, permitiendo así una comunicación bidireccional.

De manera similar, si tu código Arduino envía datos a través de la conexión Serial, estos datos se transmitirán al módulo Bluetooth y se mostrarán en la aplicación BLE Terminal Free de tu smartphone.

 

Conclusiones

A lo largo de este tutorial, hemos aprendido a configurar y usar eficazmente el módulo Bluetooth HM-10 con Arduino, alterar su nombre, establecer su rol y verificar su versión. Además, vimos cómo usar la app BLE Terminal Free para conectar un smartphone al módulo Bluetooth, permitiendo la comunicación bidireccional.
El HM-10, con su eficiencia energética y compatibilidad con Bluetooth 4.0, es una elección sólida para incorporar funcionalidad Bluetooth en proyectos de Arduino. La interacción con el Arduino mediante un smartphone abre innumerables oportunidades para el control remoto y la recolección de datos.
Este tutorial proporciona una base, pero animamos a los usuarios a explorar más las capacidades del versátil módulo Bluetooth HM-10.

Productos Relacionados

Ver artículo

Ver artículo

Ver artículo

ArduinoBluetooth

Deja un comentario