Saltar al contenido
NulliusCloud
Menú
  • Inicio
  • Tutoriales
Menú

Módulo Bluethoot HM-10

Publicada el 11/14/202312/05/2024 por Nestor Duran

¡Bienvenidos! En este blog, exploraremos el módulo HM-10 Bluetooth, una herramienta increíblemente útil para proyectos de Arduino que requieren conectividad inalámbrica. Aprenderemos sobre su funcionamiento básico, cómo configurarlo y cómo podemos usarlo para comunicarnos con otros dispositivos Bluetooth, como nuestros teléfonos inteligentes.

¿Qué es el módulo HM-10?

El módulo HM-10 es un dispositivo Bluetooth de bajo consumo (BLE, por sus siglas en inglés) que puede añadir capacidad inalámbrica a tus proyectos de Arduino. Utiliza el estándar Bluetooth 4.0, lo que le permite comunicarse con otros dispositivos Bluetooth como teléfonos inteligentes y tablets. Se comunica con el Arduino a través de la interfaz serial UART, permitiéndole transmitir y recibir datos.

Ventajas del HM-10

  • Bajo consumo de energía: Ideal para proyectos móviles o de baterías.
  • Fácil de usar: Se comunica con el Arduino a través del puerto serie.
  • Compatible con varios dispositivos: Funciona con iOS y Android.

Configuración del módulo HM-10

  • VCC se conecta a 3.3V en el Arduino.
  • GND va al pin de tierra (GND) del Arduino.
  • TXD (transmisión) del HM-10 se conecta al pin RX (recepción) del Arduino.
  • RXD (recepción) del HM-10 se conecta al pin TX (transmisión) del Arduino.

Comandos AT

Los comandos AT son instrucciones que permiten cambiar la configuración predeterminada del dispositivo HM-10.

Configuracion Serial

Conectamos nuetra Placa de Arduino en mi caso un Arduino Mega 2560, seleccionamos la placa en el IDE de Arduino y abrimos el Monito Serial y configurar en «Both NL& CR» a «9600 baud»

Revisamos que el modulo HM-10 se encuentra en modo de configuracion, mandamos la instruccion «AT» y esperamos que regrse un «OK»

Una ves confirmado que el modulo esta en modo configuracion, podemos conocer y cambiar el nombre del dispositivo con «AT+NAME»

Asi como conocer y cambiar el PIN del dispositivo con «AT+PIN»

Aqui dejo Los comandos de configuracion del modulo HM-10

***********************************************************************************
* Comando               Descripción			                                          *
* --------------------------------------------------------------------------------*
* AT                    Verificar si el terminal de comandos funciona normalmente *
* AT+RESET              Reinicio por software                                     *
* AT+VERSION            Obtener versión del firmware, Bluetooth, HCI y LMP        *
* AT+HELP               Listar todos los comandos                                 *
* AT+NAME               Obtener/Establecer nombre del dispositivo local           *
* AT+PIN                Obtener/Establecer código PIN para emparejamiento         *
* AT+BAUD               Obtener/Establecer tasa de baudios                        *
* AT+LADDR              Obtener dirección Bluetooth local                         *
* AT+ADDR               Obtener dirección Bluetooth local                         *
* AT+DEFAULT            Restaurar valores de fábrica                              *
* AT+RENEW              Restaurar valores de fábrica                              *
* AT+STATE              Obtener estado actual                                     *
* AT+PWRM               Obtener/Establecer modo de potencia (bajo consumo)        *
* AT+POWE               Obtener/Establecer potencia de transmisión RF             *
* AT+SLEEP              Modo de reposo                                            *
* AT+ROLE               Obtener/Establecer rol actual.                            *
* AT+PARI               Obtener/Establecer bit de paridad UART.                   *
* AT+STOP               Obtener/Establecer bit de parada UART.                    *
* AT+INQ                Buscar modelo esclavo                                     *
* AT+SHOW               Mostrar el modelo esclavo buscado.                        *
* AT+CONN               Conectar al índice del modelo esclavo.                    *
* AT+IMME               El sistema espera comando al encender.                    *
* AT+START              El sistema comienza a trabajar.                           *
* AT+UUID               Obtener/Establecer UUID del servidor del sistema.         *
* AT+CHAR               Obtener/Establecer UUID del CHAR del sistema.             *
*---------------------------------------------------------------------------------*

Envió y Recepción de Datos

Una de las aplicaciones más emocionantes del módulo HM-10 es la capacidad de interactuar con dispositivos móviles. Puedes enviar y recibir datos entre un Arduino con un módulo HM-10 y un smartphone o tablet.

Requisitos

  • Un módulo HM-10 correctamente conectado a un Arduino.
  • Un dispositivo móvil con Bluetooth.
  • Una aplicación para la comunicación Bluetooth (por ejemplo, una aplicación genérica de terminal Bluetooth o una aplicación personalizada).

Paso 1: Configuración del HM-10

Asegúrate de que tu módulo HM-10 esté correctamente configurado y emparejado con tu Arduino, como se describió en secciones anteriores.

Paso 2: Preparación del Dispositivo Móvil

  1. Enciende el Bluetooth: Ve a la configuración de tu dispositivo móvil y asegúrate de que el Bluetooth esté activado.
  2. Instala una aplicación de terminal Bluetooth: Hay varias aplicaciones disponibles en la App Store o en Google Play Store, como «Serial Bluetooth Terminal» para Android o «LightBlue» para iOS. Estas aplicaciones permiten enviar y recibir datos a través de Bluetooth.

Paso 3: Conexión y Emparejamiento

  1. Busca dispositivos Bluetooth disponibles en tu aplicación de terminal Bluetooth. Deberías ver el nombre del módulo HM-10 (configurado previamente).
  2. Conéctate al módulo HM-10 desde la aplicación. Puede que necesites ingresar el PIN que configuraste para el módulo.

Paso 4: Envío de Datos desde el Dispositivo Móvil

Una vez conectado, puedes enviar datos desde tu dispositivo móvil al Arduino. Simplemente escribe en la aplicación de terminal y presiona enviar. Los datos serán recibidos por el módulo HM-10 y transmitidos al Arduino a través de la conexión serial.

Paso 5: Recibir Datos en el Dispositivo Móvil

Para recibir datos en tu dispositivo móvil, el Arduino debe enviar datos al módulo HM-10. Esto se puede hacer utilizando el método Serial.write() en tu código de Arduino. Los datos enviados por el Arduino serán recibidos por el módulo HM-10 y transmitidos a tu dispositivo móvil.

Código de ejemplo


 
/*
Nota:
No todos los pines de Arduino Mega y Mega 2560 admiten interrupciones de cambio,
por lo que solo se puede utilizar lo siguiente para RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
*/

#include <SoftwareSerial.h>	// libreria que permite establecer pines digitales para comunicacion serie

int Rx = 10; 
int Tx = 11;

SoftwareSerial HM10(Rx,Tx);// pin 10 como Rx, pin 11 como Tx

void setup(){
  Serial.begin(9600);		// comunicacion de monitor serial a 9600 bps
  Serial.println("Listo");	// escribe Listo en el monitor
  HM10.begin(9600);		// comunicacion serie entre Arduino y el modulo a 9600 bps
}

void loop(){

if (HM10.available()) {// si hay informacion disponible desde modulo

   Serial.write(HM10.read());// lee Bluetooth y envia a monitor serial de Arduino
}   

if (Serial.available()) {// si hay informacion disponible desde el monitor serial

   HM10.write(Serial.read()); // lee monitor serial y envia a Bluetooth
}  	

}


Práctica de Control de LEDs con Bluetooth HM-10

Para llevar a cabo este proyecto, usaremos comandos simples enviados desde un dispositivo móvil para controlar el estado (encendido o apagado) de dos LEDs conectados a un Arduino.

Materiales Necesarios

  • 1 x Arduino (Uno, Mega, Leonardo, etc.)
  • 1 x Módulo Bluetooth HM-10
  • 2 x LEDs
  • 2 x Resistencias de 220 ohmios
  • Cables de conexión
  • Protoboard

Esquema de Conexión

  1. Conecta los LEDs: Conecta cada LED a la protoboard. Asegúrate de conectar el ánodo (lado más largo) a través de una resistencia de 220 ohmios a los pines digitales del Arduino (por ejemplo, 2 y 3), y el cátodo (lado más corto) al GND del Arduino.
  2. Conecta el HM-10: Utiliza la conexión estándar para el módulo HM-10 descrita en secciones anteriores.

Código para Arduino

El siguiente código de Arduino está diseñado para escuchar comandos específicos desde el módulo Bluetooth y activar los LEDs en consecuencia.

#include <SoftwareSerial.h>	// libreria que permite establecer pines digitales para comunicacion serie

int Rx = 10; 
int Tx = 11;
char DATO = 0;		// variable para almacenar caracter recibido
int LED1 = 2;		// LED rojo a pin digital numero 2
int LED2 = 3;		// LED verde a pin digital numero 3

SoftwareSerial HM10(Rx,Tx);// pin 10 como Rx, pin 11 como Tx

void setup(){
  HM10.begin(9600);		// comunicacion serie entre Arduino y el modulo a 9600 bps
  pinMode(LED1, OUTPUT);	// pin 2 como salida
  pinMode(LED2, OUTPUT);	// pin 3 como salida
}

void loop(){

if (HM10.available()){    	// si hay informacion disponible desde modulo
  DATO = HM10.read();		// almacena en DATO el caracter recibido desde modulo

  if( DATO == 'A' )				// si el caracter recibido es el numero 1
  digitalWrite(LED1, !digitalRead(LED1));	// escribe valor opuesto al leido del LED rojo
  

  if( DATO == 'B' )				// si el caracter recibido es el numero 2
  digitalWrite(LED2, !digitalRead(LED2)); // escribe valor opuesto al leido del LED verde

}
}

En resumen, el código permite controlar dos LEDs con un módulo HM-10 Bluetooth. Cuando se envía el carácter '1' desde un dispositivo conectado al módulo Bluetooth, el estado del primer LED cambia; lo mismo ocurre con el segundo LED cuando se envía el carácter '2'. Este proyecto es un ejemplo básico de cómo se puede utilizar la comunicación Bluetooth para interactuar con componentes electrónicos a través de Arduino.

Instrucciones para el Usuario

  1. Sube el código a tu Arduino.
  2. Abre la aplicación de terminal Bluetooth en tu dispositivo móvil.
  3. Conéctate al módulo HM-10.
  4. Envía los comandos (‘A’, ‘B’) desde la aplicación para controlar los LEDs.

Consideraciones Finales

  • Asegúrate de que la conexión entre el Arduino, el módulo HM-10 y los LEDs sea correcta.
  • Verifica que la aplicación de terminal Bluetooth esté enviando los caracteres correctamente.
  • Recuerda, este código es sensible a mayúsculas y minúsculas, asegúrate de enviar los comandos en mayúsculas.

Deja una respuesta Cancelar la respuesta

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

Entradas recientes

  • SENSOR ULTRASÓNICO HC-SR04
  • Descubriendo Arduino: Funciones Básicas y Control de LEDs con Botones
  • Módulo Bluethoot HM-10
  • ServoMotor con Arduino

Categorías

  • Arduino
  • Documentacion
  • Tutoriales
©2025 NulliusCloud | Diseño: Tema de WordPress Newspaperly