Conexión del módulo Bluetooth HC05 a Arduino

En el mundo de la electrónica y la programación, la conexión de dispositivos es esencial para crear proyectos innovadores. En este artículo, te enseñaremos cómo conectar el módulo Bluetooth HC05 a tu placa Arduino para establecer una comunicación inalámbrica con tus creaciones. ¡Sigue leyendo para descubrir todos los detalles y desatar tu creatividad técnica!

Bluetooth es omnipresente en estos días. Es una palabra que escuchamos todo el tiempo y está en millones de productos que usamos todos los días, incluidos auriculares, teléfonos celulares, computadoras portátiles, controladores de juegos, rastreadores de actividad, etc.

En nuestro mundo de electrónica integrada, Bluetooth es una excelente manera de transmitir pequeñas cantidades de datos de forma inalámbrica en distancias cortas (menos de 100 metros). Se puede utilizar para registrar datos en tiempo real o para controlar un proyecto mediante un teléfono inteligente.

Este es uno de los módulos Bluetooth más baratos y más utilizados. HC-05. Puede encontrarlo fácilmente en línea por alrededor de $5, lo que lo convierte en una opción económica para agregar conectividad Bluetooth a su proyecto. ¡No más cables enredados y molestos cables!

En este tutorial lo ayudaremos a comenzar con el HC-05. Pero como no queremos abrumarte con demasiada información a la vez, la dividiremos en tres tutoriales fáciles de seguir. El primer tutorial le muestra cómo enviar y recibir datos entre el HC-05 y su teléfono inteligente. En el siguiente tutorial le mostraremos cómo configurar el HC-05 con comandos AT. Y en el tutorial final aprenderás cómo hacer que dos placas Arduino se comuniquen de forma inalámbrica utilizando módulos Bluetooth HC-05.

Al final de estos tutoriales, comprenderá bien cómo utilizar el módulo Bluetooth HC-05 en sus proyectos. ¡Entonces empecemos!

Descripción general del hardware HC-05

El HC-05 es un módulo puente de Bluetooth a serie que permite la comunicación inalámbrica entre dos microcontroladores o entre un microcontrolador y un teléfono inteligente, computadora portátil o de escritorio con funcionalidad Bluetooth. ¡Es perfecto para el reemplazo directo de un puerto serie asíncrono cableado!

Cada uno de estos módulos contiene un transceptor Bluetooth, es decir. h. pueden enviar y recibir datos.

Conexión del módulo Bluetooth HC05 a Arduino

Como dispositivo Bluetooth de clase 2, el HC-05 tiene un alcance nominal de 10 m en exteriores, por supuesto. El alcance es algo reducido en interiores, principalmente a causa de las paredes.

Y la mejor parte: estos módulos son muy fáciles de usar. No tienes que preocuparte por los protocolos Bluetooth ni la pila. Simplemente envíe datos a través de un puerto serie y se reenviarán al dispositivo Bluetooth al que está conectado.

Modos de funcionamiento

Controlar el módulo HC-05 y enviar datos a través del módulo son dos operaciones diferentes, pero ambas se realizan a través del puerto serie. Para distinguir entre estos dos tipos de datos, el HC-05 utiliza dos modos de comunicación diferentes: modo AT y modo de datos.

En Modo ATPuede configurar varios ajustes del módulo HC-05, como nombre, velocidad en baudios, código PIN y velocidad de datos.

En Modo de datosEl módulo HC-05 actúa como una puerta de enlace de datos transparente. Cuando el HC-05 recibe datos, elimina los encabezados y trailers de Bluetooth y los envía al puerto UART. Cuando se escriben datos en el puerto UART, el HC-05 crea un paquete Bluetooth y lo envía a través de la conexión inalámbrica Bluetooth.

Conectando roles

El módulo Bluetooth HC-05 puede funcionar en dos funciones principales: maestro y esclavo.

En rol de esclavoEl módulo HC-05 espera a que se conecten otros dispositivos. Esta es la función predeterminada del módulo y se utiliza a menudo en proyectos en los que desea controlar cosas con un teléfono inteligente.

En rol maestroEl HC-05 busca activamente otros dispositivos Bluetooth e intenta establecer una conexión. Este modo se utiliza en proyectos donde dos microcontroladores necesitan comunicarse de forma inalámbrica.

Para cambiar entre roles, debe configurar el módulo HC-05 poniéndolo en modo AT y enviando comandos AT a través del puerto UART.

Actuación

El voltaje de funcionamiento máximo del chip HC-05 desnudo es de 3,3 V. Por lo tanto, el módulo tiene un regulador lineal de 3,3 V, que permite que un voltaje de 3,6 V a 6 V alimente el módulo.

Conexión del módulo Bluetooth HC05 a Arduino

Es importante señalar que el módulo HC-05 tiene un nivel lógico de 3,3V. Por lo tanto, no podemos conectar directamente el pin Rx del módulo HC-05 a un pin digital de un microcontrolador de 5V como un Arduino UNO. En otras palabras, el pin Rx del módulo HC-05 no tolera 5V. Por lo tanto, la señal Tx del microcontrolador debe reducirse a 3,3 V antes de conectarlo al módulo HC-05.

El consumo de energía del módulo HC-05 depende de su estado. Esta tabla de la hoja de datos proporciona algunas buenas estimaciones:

modo Consumo actual
Asociado con la transmisión de datos. 45mA
Conectado mientras está inactivo 8mA

LED de estado

Muchos módulos HC-05 tienen un LED integrado.

Conexión del módulo Bluetooth HC05 a Arduino

Parpadea a diferentes frecuencias para indicar el estado:

  • Cuando se enciende, el módulo ingresa al modo de emparejamiento Bluetooth y el LED parpadea rápidamente a aproximadamente 2 Hz.
  • Cuando el módulo está emparejado con un dispositivo, el patrón de parpadeo del LED cambia a dos parpadeos rápidos, seguidos de una pausa y luego se repite.
  • Cuando el módulo se coloca en modo AT, el LED parpadea lenta y constantemente.

Modo AT

El modo AT es el modo de configuración donde puede enviar comandos estilo AT de Hayes al módulo HC-05 para cambiar sus configuraciones como nombre, velocidad en baudios, contraseña, etc.

Normalmente el módulo HC-05 está en modo de datos. Para ponerlo en modo AT, debe mantener presionado el botón integrado mientras enciende el módulo. Luego, el LED comenzará a parpadear lenta y constantemente, indicando que el módulo está en modo AT.

Conexión del módulo Bluetooth HC05 a Arduino

En modo AT, puede enviar comandos AT al módulo a través del puerto UART. El módulo responde a los comandos reconociendo el comando, proporcionando los datos solicitados o informando un error. Los comandos suelen comenzar con “AT+” seguido del comando específico. Por ejemplo, «AT+NAME?» consulta el nombre del módulo o «AT+NAME=MyHC05» cambia el nombre a «MyHC05».

Los comandos AT deben enviarse a la velocidad en baudios especificada para el modo AT, que a menudo es diferente de la velocidad en baudios utilizada para la transmisión de datos. La velocidad en baudios predeterminada para el modo AT es 38400 bps, pero se puede cambiar si es necesario.

Distribución de pines HC-05

El módulo HC-05 tiene seis pines. Veamos el pinout.

Conexión del módulo Bluetooth HC05 a Arduino

CONDICIÓN El pin se puede utilizar para determinar el estado actual del módulo HC-05. El pin de estado es BAJO cuando el módulo no está emparejado y ALTO cuando está emparejado.

RXD El pin recibe datos en serie del microcontrolador. Debe estar conectado al TX del microcontrolador. Tenga en cuenta que este pin no tolera 5V. Por lo tanto, la señal Tx del microcontrolador debe reducirse a 3,3 V antes de conectar el módulo a un microcontrolador de 5 V.

TXD Pin envía datos en serie al microcontrolador. Debe estar conectado al RX del microcontrolador.

Dimensiones es el pin de tierra común a todos los demás dispositivos conectados al módulo.

VCC Aquí es donde se conecta el voltaje de suministro positivo. Esta señal de voltaje de suministro se transmite al chip HC-05 a través de un regulador de 3,3 V. Debe estar entre 3,6 V y 6 V.

ES está conectado al pin de habilitación del regulador integrado y es levantado por una resistencia de 220k. Cuando este pasador se baja, el regulador se desactiva, lo que en consecuencia apaga el HC-05.

Control del módulo HC-05

Para controlar el módulo Bluetooth HC-05 y enviar datos a través de él, sólo se requiere una interfaz serie. Básicamente, actúa como una tubería de datos: los datos en serie que ingresan al módulo (desde el pin RXD) se enrutan a través de la conexión Bluetooth. Los datos que llegan desde el lado Bluetooth se enrutan a través del lado serie (a través del pin TXD).

Para configurar este canal de datos, seguimos un proceso de dos pasos:

  1. Conecte el módulo HC-05 a un dispositivo que pueda enviar y recibir datos en serie, como un Arduino o cualquier microcontrolador con UART.
  2. Por el lado de Bluetooth, establecemos una conexión inalámbrica entre el módulo HC-05 y otro dispositivo habilitado para Bluetooth, como por ejemplo un teléfono Android. Esta conexión implica un proceso de emparejamiento similar al de conectar otros dispositivos Bluetooth. También necesita un programa de terminal instalado en su teléfono que pueda comunicarse a través de Bluetooth. Para ello recomendamos utilizar el “Terminal Bluetooth Serie” disponible en Play Store. Sin embargo, también hay muchas otras opciones gratuitas que puedes probar.

En resumen, todo lo que tenemos que hacer es configurar el puerto serie entre el HC-05 y nuestro microcontrolador y luego emparejar el HC-05 con el otro dispositivo Bluetooth y ¡estamos listos para comenzar!

Cableado de un módulo HC-05 a un Arduino

Conectar el módulo HC-05 a un Arduino es increíblemente fácil: sólo necesitas encenderlo y cablear los pines seriales RX y TX.

En lugar de conectar el módulo HC-05 al hardware UART del Arduino, utilizamos SoftwareSerial y conectamos los pines RX y TX del HC-05 a uno de los pines digitales libres del Arduino. Esto ayuda a evitar conflictos de bus y garantiza que el HC-05 no reciba datos no deseados al cargar un boceto.

Por lo tanto, TXD del módulo HC-05 está conectado a D3 del Arduino, RXD a D2, GND a GND y VCC a 5V. Los pines TXD y RXD en realidad se pueden conectar a cualquier pin digital (excepto 0 y 1). Entonces, si los pines 2 y 3 son necesarios para otros fines, no dudes en intercambiarlos.

Sin embargo, como recordará, el pin Rx del módulo HC-05 no tolera 5V. Por lo tanto, no puede conectar directamente el pin Rx del HC-05 al pin digital de Arduino (5V MCU). La señal Tx del Arduino debe transformarse a 3,3 V. Esto se puede lograr de varias maneras, pero la más sencilla es utilizar un divisor de resistencia. Una resistencia de 1K entre Rx del HC-05 y D2 del Arduino y una resistencia de 2K entre Rx y GND del HC-05 funcionan bien.

En resumen, estas son las conexiones que haremos para el código de muestra más adelante en este tutorial:

Módulo HC-05 arduino Observaciones
VCC 5V
Dimensiones Dimensiones
TXD T3 – El maravilloso mundo de la locura
RXD T2 – El segundo día Si usa una MCU de 5 V, use un convertidor de nivel

La siguiente imagen muestra cómo conectar el módulo HC-05 al Arduino Uno.

Conexión del módulo Bluetooth HC05 a Arduino

Bosquejo de paso a través de serie de Bluetooth

Con un poco de ingenio podemos utilizar el Arduino como medio entre nosotros y el módulo HC-05. A continuación se muestra un boceto simple que pasa datos entre el monitor serie Arduino y el módulo HC-05.

#include <SoftwareSerial.h>

//Create software serial object to communicate with HC-05
SoftwareSerial mySerial(3, 2); //HC-05 Tx & Rx is connected to Arduino #3 & #2

void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  
  //Begin serial communication with Arduino and HC-05
  mySerial.begin(9600);

  Serial.println("Initializing...");
  Serial.println("The device started, now you can pair it with bluetooth!");
}

void loop()
{
  if(Serial.available()) 
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  if(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
  delay(20);
}

Después de cargar el boceto, abra el monitor serie con una velocidad de baudios de 9600. Debería ver el siguiente mensaje: «¡El dispositivo se ha iniciado, ahora puedes emparejarlo mediante Bluetooth!».

Conexión del módulo Bluetooth HC05 a Arduino

Conexión al teléfono Android

Configuremos una conexión inalámbrica entre el módulo HC-05 y un teléfono Android. El proceso puede variar dependiendo de tu dispositivo, pero los pasos generales son bastante similares.

1. Asegúrese de que el módulo HC-05 esté encendido y listo para conectar. El LED integrado debería parpadear rápidamente a unos 2 Hz, lo que indica que se reconoce el dispositivo.

2. Ahora deslízate hacia abajo desde la parte superior de la pantalla de tu teléfono Android. y asegúrese de que Bluetooth esté activado.

Conexión del módulo Bluetooth HC05 a Arduino

3. Mantén presionado el ícono de Bluetoothluego toque «Emparejar nuevo dispositivo» y espere unos segundos.

Conexión del módulo Bluetooth HC05 a Arduino

4. Toque el nombre del dispositivo Bluetooth que desea emparejar con su dispositivo (en nuestro caso HC-05). Sigue las instrucciones en la pantalla.

Conexión del módulo Bluetooth HC05 a Arduino

5. Cuando se le solicite, ingrese 1234 como su código PIN. Este es el PIN predeterminado para cada módulo HC-05.

Conexión del módulo Bluetooth HC05 a Arduino

6. Para los siguientes pasos de este tutorial, necesitará una aplicación de terminal Bluetooth instalada en su teléfono inteligente. Recomendamos utilizar la aplicación de Android “Serial Bluetooth Terminal”, disponible en Play Store.

Conexión del módulo Bluetooth HC05 a Arduino

7. Después de la instalación, inicie la aplicación «Serial Bluetooth Terminal». Haga clic en el icono en la esquina superior izquierda y seleccione «Dispositivos».

Conexión del módulo Bluetooth HC05 a Arduino

8vo. Debería ver una lista de dispositivos a los que se ha conectado anteriormente. Seleccione “HC-05” de esta lista.

Conexión del módulo Bluetooth HC05 a Arduino

9. Debería recibir un mensaje «Conectado». El patrón de parpadeo del LED integrado de su HC-05 ahora debería cambiar a dos parpadeos rápidos seguidos de una pausa. ¡Eso es todo! Su teléfono inteligente ahora está emparejado exitosamente con el módulo Bluetooth del HC-05 y listo para la comunicación.

Conexión del módulo Bluetooth HC05 a Arduino

10. Ahora ingresa algo en el campo de entrada en la parte inferior de la aplicación.por ejemplo «¡Hola!»

Conexión del módulo Bluetooth HC05 a Arduino

11. Debería recibir inmediatamente este mensaje en el Arduino IDE Serial Monitor.

Conexión del módulo Bluetooth HC05 a Arduino

12. También puede intercambiar datos entre su monitor serie y su teléfono inteligente. Ingrese algo en el campo de entrada superior del monitor en serie y presione el botón «Enviar».

Conexión del módulo Bluetooth HC05 a Arduino

13. Debería recibir este mensaje inmediatamente en la aplicación Serial Bluetooth Terminal.

Conexión del módulo Bluetooth HC05 a Arduino

Proyecto Arduino: relé controlado por Bluetooth

Creemos un proyecto simple que le permita controlar los relés de forma inalámbrica a través de Bluetooth. Esto puede resultar útil para la domótica, la iluminación inteligente, los sistemas de seguridad y otras aplicaciones similares.

En este proyecto estamos utilizando un módulo de relé de doble canal. Si no estás familiarizado con esto, lee el siguiente tutorial.

Conexión del módulo Bluetooth HC05 a Arduino
Interfaz para módulo de relé de dos canales con Arduino
En su próximo proyecto, es posible que desee utilizar su Arduino para controlar un dispositivo de alto voltaje, como una lámpara, un ventilador u otro electrodoméstico. Sin embargo…

alambrado

Usaremos la misma configuración de Arduino que en el ejemplo anterior, pero esta vez agregaremos un módulo de relé de dos canales para alimentar una lámpara.

La siguiente imagen muestra cómo se construye el circuito.

Conexión del módulo Bluetooth HC05 a Arduino

código arduino

Cuando haya terminado de realizar el cableado, pruebe el siguiente esquema.

#include <SoftwareSerial.h>

// GPIO where relay is connected to
const int relayPin =  6;

// Handle received messages
String message = "";

// Create software serial object to communicate with HC-05
SoftwareSerial mySerial(3, 2); //HC-05 Tx & Rx is connected to Arduino #3 & #2

void setup() {
  // Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);

  // Initialize relayPin as an output
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH);
  
  //Begin serial communication with Arduino and HC-05
  mySerial.begin(9600);

  Serial.println("Initializing...");
  Serial.println("The device started, now you can pair it with bluetooth!");
}

void loop() {
  if (mySerial.available()){
    char incomingChar = mySerial.read();
    if (incomingChar != 'n'){
      message += String(incomingChar);
    }
    else{
      message = "";
    }
    Serial.write(incomingChar);  
  }
  // Check received message and control output accordingly
  if (message == "on"){
    digitalWrite(relayPin, LOW);
  }
  else if (message == "off"){
    digitalWrite(relayPin, HIGH);
  }
  delay(20);
}

Probando el código

Después de cargar el boceto, abra el monitor serie con una velocidad de baudios de 9600. Debería ver el siguiente mensaje: «¡El dispositivo se ha iniciado, ahora puedes emparejarlo mediante Bluetooth!».

Conexión del módulo Bluetooth HC05 a Arduino

Inicie la aplicación Serial Bluetooth Terminal y conéctese a su módulo HC-05.

Si ahora ingresa «on» en el campo de entrada en la parte inferior de la aplicación, el relé debería activarse inmediatamente. Al ingresar “off” también se desactivará el relé inmediatamente.

Conexión del módulo Bluetooth HC05 a Arduino

Además, recibirá estos mensajes con fines de monitoreo en Arduino IDE Serial Monitor.

Conexión del módulo Bluetooth HC05 a Arduino

La aplicación ofrece varias macros que puedes personalizar para guardar mensajes estándar. Por ejemplo, puede asociar M1 con el mensaje «Encendido» y M2 con el mensaje «Apagado». Esto le permite controlar fácilmente el relé usando los botones predefinidos, agregando una capa adicional de conveniencia a su proyecto.

Conexión del módulo Bluetooth HC05 a Arduino
Conexión del módulo Bluetooth HC05 a Arduino

Siga adelante

Esperamos que este tutorial te haya preparado para una emocionante incursión en el mundo de Bluetooth. Ahora que tiene una buena idea de cómo enviar y recibir datos entre el HC-05 y su teléfono inteligente, es hora de profundizar más y aprender a controlar el HC-05 mediante la configuración de comandos AT.

Conexión del módulo Bluetooth HC05 a Arduino
Configurando el HC-05 con comandos AT
Cualquiera que juegue con el módulo Bluetooth HC-05 tendrá que utilizar los llamados «comandos AT» en algún momento. Los comandos AT son comandos simples basados ​​en texto que siguen…

Y aprenda cómo habilitar la comunicación inalámbrica entre dos placas Arduino utilizando módulos Bluetooth HC-05, abriendo aún más posibilidades para sus proyectos inalámbricos.

Conexión del módulo Bluetooth HC05 a Arduino
Comunicación inalámbrica entre dos Arduinos mediante módulos Bluetooth HC-05
Cuando dos o más Arduinos pueden comunicarse entre sí de forma inalámbrica, se abren posibilidades completamente nuevas, como la monitorización remota de los datos de los sensores, el control…

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded






Conexión del módulo Bluetooth HC05 a Arduino

Conexión del módulo Bluetooth HC05 a Arduino

El Bluetooth está en todas partes en la actualidad. Es una palabra que escuchamos todo el tiempo y está en millones de productos que usamos todos los días, incluidos auriculares, teléfonos celulares, computadoras portátiles, controladores de juegos, rastreadores de actividad, entre otros.

Visión general del hardware HC-05

El módulo HC-05 es un puente Bluetooth a serie que permite la comunicación inalámbrica entre dos microcontroladores o entre un microcontrolador y un teléfono inteligente, computadora portátil o PC de escritorio con capacidad Bluetooth. ¡Es perfecto para reemplazar directamente una interfaz serie asíncrona con cable!

¿En qué modos puede operar el HC-05?

El HC-05 se puede poner en modo AT para configurar diversos ajustes del módulo o en modo de datos para actuar como una pasarela de datos transparente.

¿Qué roles de conexión puede tener el HC-05?

El módulo Bluetooth HC-05 puede funcionar en dos roles principales: Maestro y Esclavo, dependiendo de la configuración necesaria para su proyecto.

¿Cómo se alimenta el HC-05?

El módulo HC-05 tiene un regulador lineal de 3.3V para garantizar que la tensión de alimentación esté dentro del rango adecuado.

Conclusión

Al final de estos tutoriales, tendrás una buena comprensión de cómo utilizar el módulo Bluetooth HC-05 en tus proyectos. Así que, ¡vamos a empezar!

Referencias

Para obtener más información detallada sobre la conexión del módulo Bluetooth HC-05 a Arduino, te recomendamos visitar los siguientes enlaces:

Deja un comentario