- ¿Qué es el módulo HM10 BLE 4.0?
- Diferencia entre HM10 y otro módulo Bluetooth
- Componentes requeridos
- Diagrama de circuito
- Aplicación de Android Arduino Bluetooth Controller (módulo HM-10)
- Programación de Arduino UNO para controlar LED usando el módulo Bluetooth HM-10
Bluetooth es una de las tecnologías inalámbricas más populares y fáciles de usar. Durante los pocos años ha habido muchas actualizaciones del estándar Bluetooth para mantener el ritmo de la tecnología actual en curso con tecnología futura y para satisfacer las necesidades de los usuarios. Desde la versión 1.0 de Bluetooth hasta la versión 5.0 de Bluetooth, se han cambiado muchas cosas, incluidas velocidades de datos más altas, la capacidad de usarse para IoT con bajo consumo de corriente, seguridad mejorada, etc. Para aprender a comunicarse por Bluetooth, hay muchos módulos disponibles que pueden ser interconectado con microcontroladores. Dicho módulo Bluetooth es HM10, que se basa en Bluetooth 4.0.
¿Qué es el módulo HM10 BLE 4.0?
El HM10 es un módulo BLE en serie (Bluetooth-Low-Energy) que está diseñado para aplicaciones de bajo consumo de energía y puede durar mucho tiempo incluso con una batería del tamaño de una moneda. El HM10 es un módulo Bluetooth 4.0 basado en el SoC (System on Chip) del sistema BLE CC2540 o CC2541 de Texas Instruments. El firmware y el diseño del módulo están hechos y administrados por Jinan Huamao Technology. El módulo viene con una capa serial / UART que hace que el dispositivo pueda interactuar con diferentes microcontroladores. El HM10 es ideal para crear conexiones simples y usarlo con o como un iBeacon.
El HM10 se ha convertido en un módulo Bluetooth 4.0 BLE muy popular. El HM10 es un módulo basado únicamente en Bluetooth 4.0, por lo que no se conectará con el módulo Bluetooth 2 / 2.1 como HC-05, HC-06 y otros módulos Bluetooth. El HM10 se controla mediante comandos AT enviados a través de la conexión UART en serie. HM-10 es un módulo Bluetooth Low Energy (BLE), para saber más sobre BLE siga el enlace. Aprenda también cómo se puede usar un módulo nRF24L01 como módulo BLE con Arduino.
Diferencia entre HM10 y otro módulo Bluetooth
La principal diferencia que posee el HM10 es la versión Bluetooth. El HM10 es un módulo Bluetooth 4.0, por lo que viene con todas las características de la versión 4.0 de Bluetooth, como velocidad, rendimiento y alcance. El HM10 ofrece una velocidad de datos de hasta 24 Mbps con bajo consumo de energía / bajo consumo de energía. Junto con esto, el HM10 ofrece un rango de distancia de 100 metros en espacios abiertos. En comparación con otros módulos Bluetooth como el HC-05, que es un módulo basado en Bluetooth 2.0, el HM10 ciertamente funciona mejor que el HC-05. El HC-05 solo ofrece 3 Mbps en comparación con el HM10, que es bastante menos.
Los módulos Bluetooth HC-05 y HC-06 siguen siendo muy populares entre los fabricantes y aficionados, ya que son baratos y fáciles de conectar. También hicimos muchos proyectos usando HC-05/06 y los conectamos con muchos otros microcontroladores:
- Interfaz del módulo Bluetooth con ESP8266: control de un LED
- Interfaz Bluetooth HC-05 con STM32F103C8 Blue Pill: LED de control
- Interfaz del módulo Bluetooth HC-05 con el microcontrolador AVR
- Interfaz del módulo Bluetooth HC-06 con el microcontrolador PIC
- LEDs controlados por voz usando Arduino y Bluetooth
- Luces controladas por voz usando Raspberry Pi
Todos los proyectos relacionados con Bluetooth se pueden encontrar en este enlace.
Hoy conectaremos el módulo HM-10 BLE con Arduino Uno para controlar un LED de forma inalámbrica mediante el protocolo Bluetooth. Los comandos de encendido / apagado serán enviados por teléfono inteligente.
Componentes requeridos
Hardware:
- Arduino UNO
- Módulo Bluetooth HM10
- Resistencias (1 kΩ, 470 Ω)
- Cables de puente
Software:
- IDE de Arduino
- Aplicación para Android Arduino Bluetooth Controller (módulo HM-10)
- Teléfono inteligente Android
Diagrama de circuito
El diagrama de circuito para conectar el módulo Bluetooth Arduino y HM-10 es muy simple, como se muestra a continuación.
Antes de comenzar con el proyecto, asegúrese de que su módulo HM-10 sea un módulo HM-10 genuino. Hay muchos módulos HM-10 clonados en China disponibles. Para identificar la diferencia entre el módulo HM-10 genuino y clonado, solo observe la presencia del oscilador de cristal de 32 KHz en la placa HM-10. Si el oscilador de cristal está presente, entonces es un módulo HM-10 genuino y no necesita cambiar el firmware. Pero si no puede ver el oscilador de cristal en su lugar, entonces es un módulo HM10 clonado y necesita cambiar el firmware del módulo HM-10 clonado. Sin cambiar el firmware del HM-10, no puede acceder al módulo HM-10 con comandos AT ni puede emparejarlo con teléfonos inteligentes. Aquí también estamos usando el módulo de clonación, por lo que mostramos su firmware antes de conectarlo con Ardruino. Para cambiar el firmware del módulo HM-10 clonado, simplemente siga nuestro tutorial sobre cómo cambiar o actualizar el firmware del módulo HM-10 clonado.
Aplicación de Android Arduino Bluetooth Controller (módulo HM-10)
El controlador Bluetooth Arduino (módulo HM-10) es una aplicación de Android que está disponible gratis en Google Play Store. Esta aplicación tiene una interfaz fácil y sencilla para el módulo HM-10 BLE. Durante la prueba, pudo encontrar el HM-10 rápidamente y se conectó instantáneamente con el HM-10. La aplicación tiene una característica interesante, como puedes crear un botón y personalizarlo con nombres y funciones personalizados. Aquí veremos cómo crear dos botones en esta aplicación de controlador Bluetooth para encender y apagar el LED conectado con Arduino.
Cómo configurar la aplicación de Android Arduino Bluetooth Controller (módulo HM-10):
- Descarga la aplicación de Google Play Store.
- La página principal de la aplicación se parecerá a continuación, donde puedes encontrar características como, dispositivos de conexión, icono de la búsqueda, icono Eliminar, estado del dispositivo, enviar mensajes de texto, etc. Añadir plantilla de inicio con la búsqueda del dispositivo, ya sea haciendo clic en icono de la búsqueda o haciendo clic a tres puntos en la esquina superior derecha y elija conectar dispositivo .
- Todos los dispositivos disponibles se mostrarán en la pantalla. Elija el módulo HM-10 correcto.
- Ahora el HM-10 se conectará con éxito y podrá ver el estado del HM-10 en la parte superior de la pantalla.
- Ahora puede enviar directamente un texto o una cadena escribiendo en la sección de texto y presionar la flecha para enviar o puede crear una plantilla personalizada.
- Crear una plantilla personalizada para ahorrar tiempo. Haga clic en el icono " + " en la esquina superior derecha y complete los detalles. El “ Nombre ” es el nombre del botón, el campo “ Texto ” es para textos o cadenas que se enviarán al HM-10 y “ Descripción ” es solo la descripción del botón que indica cómo funcionará el botón.
- En primer lugar, cree un botón para encender el LED y darle un color verde. El botón enviará la letra "N" al HM-10 que encenderá el LED conectado a Arduino. De manera similar, cree un botón para LED APAGADO y dele un color rojo.. El botón enviará la letra "F" al HM-10 que apagará el LED conectado a Arduino.
- Ahora puede ver los dos botones creados justo debajo del campo de texto. Ahora, si desea controlar el LED, simplemente haga clic en los botones.
Esto finaliza la configuración de la aplicación de Android para controlar el módulo HM-10. Ahora comenzaremos con la programación de Arduino Uno para obtener los personajes de la App de Android.
Programación de Arduino UNO para controlar LED usando el módulo Bluetooth HM-10
Como siempre, el programa completo con video de demostración se puede encontrar al final de este tutorial. Programar Arduino UNO para este proyecto no requiere mucho esfuerzo ni biblioteca. Puede utilizar la biblioteca de serie de hardware y software. Si está utilizando la serie de software, simplemente incluya la biblioteca de la serie de software; de lo contrario, proceda con la serie de hardware. En este proyecto estamos usando SoftwareSerial. Así que empiece por incluir la biblioteca serial de software. Los pines Rx y Tx están conectados en 2 y 3 pines de Arduino.
#incluir
Las dos variables se utilizan para almacenar los datos recibidos de HM10 y la aplicación de Android.
char appData; String inData = "";
Simplemente inicie la serie de hardware y software a una velocidad de 9600 baudios e imprima algunas declaraciones de depuración. El pin LED se establece como salida e inicialmente está apagado.
Serial.begin (9600); Serial.println ("La serie HM10 comenzó en 9600"); HM10.begin (9600); // establece el serial HM10 a 9600 baudios pinMode (13, OUTPUT); // LED digitalWrite integrado (13, BAJO); // apagar LED
Comience a escuchar el puerto HM10 y lea la cadena hasta que el HM10 esté disponible y envíe los datos. Guarde los datos en cadena.
HM10.listen (); // escucha el puerto HM10 while (HM10.available ()> 0) {// si HM10 envía algo, lee appData = HM10.read (); inData = String (appData); // guarda los datos en formato de cadena Serial.write (appData); }
Para depurar el HM10 con comandos AT, simplemente escriba la siguiente línea de código que enviará la cadena al HM10.
if (Serial.available ()) {// Leer la entrada del usuario si está disponible. retraso (10); HM10.write (Serial.read ()); }
Si la cadena recibida es "F", imprima un mensaje en el monitor de serie y apague el LED; de lo contrario, si la cadena recibida es "N", imprima un mensaje en el monitor de serie y el LED parpadeante con un retraso de 500 ms.
if (inData == "F") { Serial.println ("LED APAGADO"); digitalWrite (13, BAJO); // apaga el retardo del LED (500); } if (inData == "N") { Serial.println ("LED ENCENDIDO"); escritura digital (13, ALTA); // apaga el retardo del LED (500); digitalWrite (13, BAJO); // apaga el retardo del LED (500); }
Esto finaliza el tutorial completo sobre cómo controlar el LED usando Arduino y el módulo BLE HM10 Blutooth 4.0. Una vez más, recuerde que , si tiene un módulo HM10 genuino, entonces no necesita actualizar su firmware, puede usarlo de inmediato. Pero si está utilizando un módulo HM-10 clonado, actualice el firmware en el módulo BLE clonado HM10. Si tiene alguna duda o sugerencia, por favor comente a continuación o escriba a nuestro foro.