Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

¿Quieres conectar dos dispositivos a través de Bluetooth pero no sabes por dónde empezar? En este artículo te mostraremos cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo utilizando comandos AT. ¡Sigue leyendo para descubrir cómo hacerlo de manera sencilla y efectiva!

En este tutorial de Arduino aprenderá a configurar y emparejar dos módulos Bluetooth HC-05 como dispositivos maestro y esclavo. Puede ver el vídeo a continuación o leer el tutorial escrito a continuación.

descripción general

En mis dos tutoriales anteriores, ya aprendimos cómo conectar el módulo Bluetooth HC-05 al Arduino y establecer comunicación entre un teléfono inteligente Android y el Arduino. En estos tutoriales utilizamos el módulo Bluetooth HC-05 con su configuración predeterminada como dispositivo esclavo.

Configuración del módulo Bluetooth HC-05 – Comandos AT

Para este tutorial necesitamos configurar ambos módulos. Para hacer esto necesitamos cambiar al modo de comando AT. Descubre cómo lo hacemos aquí. Primero, necesitamos conectar el módulo Bluetooth al Arduino según los diagramas de circuito explicados en los tutoriales anteriores. Lo que también debemos hacer es conectar el pin “EN” del módulo Bluetooth a 5 voltios y también intercambiar los pines TX y RX en la placa Arduino.

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Por>

Después de eso necesitamos cargar un boceto en blanco al Arduino. Sin embargo, no olvide desconectar las líneas RX y TX al realizar la carga. Luego debemos ejecutar el Monitor serie y seleccionar «Tanto NL como CR» y «38400 baudios», que es la velocidad en baudios predeterminada del módulo Bluetooth. Ahora podemos enviar comandos. Su formato es el siguiente.

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Todos> y terminar con el carácter «?», que devuelve el valor actual del parámetro, o el carácter «=» si queremos ingresar un nuevo valor para este parámetro.

Configuración de esclavo

Por ejemplo, si simplemente escribimos «AT», que es un comando de prueba, deberíamos recibir el mensaje «OK». ¿Entonces si escribimos “AT+UART”? Deberíamos recibir el mensaje que muestra la velocidad en baudios predeterminada, que es 38400. Si luego escribimos “AT+ROLE?” Recibimos el mensaje “+ROLE=0”, lo que significa que el dispositivo Bluetooth está en modo esclavo. Si escribimos “AT+ADDR?” obtendremos la dirección del módulo Bluetooth y debería verse así: 98d3:34:905d3f.

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Ahora>

Configuración maestra

Bien, ahora sigamos adelante y configuremos el otro módulo Bluetooth como dispositivo maestro. Primero verificamos la velocidad en baudios para asegurarnos de que coincida con la del dispositivo esclavo en 38400. Al ingresar “AT+ROLE=1” configuramos el módulo Bluetooth como dispositivo maestro. Luego configuramos el modo de conexión a “dirección fija” con “AT+CMODE=0” y con el comando “AT+BIND=” configuramos la dirección del dispositivo esclavo que anotamos antes.

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Tenga>Lista de comandos AT HC-05

Sin embargo, eso es todo lo que necesitamos para una configuración básica de los módulos Bluetooth para que funcionen como dispositivos maestro y esclavo. Ahora, si los reconectamos en modo de datos normal y alimentamos los módulos nuevamente, el maestro se conectará al esclavo en segundos. Ambos módulos comienzan a parpadear cada 2 segundos, lo que indica una conexión exitosa.

Ejemplo de comunicación entre dos módulos Bluetooth HC-05

Bien, ahora estamos listos para crear el ejemplo práctico para este tutorial. Aquí está el diagrama del circuito. Usaremos un potenciómetro en el maestro para controlar un servomotor en el esclavo. Y viceversa, usamos un botón en el esclavo para controlar un LED en el maestro.

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Puede>

  • Módulo Bluetooth HC-05…………. Amazon / Banggood / AliExpress
  • Placa Arduino……………………………… Amazon / Banggood / AliExpress
  • Servo motor…………………………….…. Amazon / Banggood / AliExpress
  • Potenciómetro…………..………..……. Amazon / Banggood / AliExpress
  • 3x resistencias de 220 ohmios…………………… Amazon / Banggood / AliExpress
  • Cables de puente y de placa de pruebas…………. Amazon / Banggood / AliExpress

Divulgación: estos son enlaces de afiliados. Como asociado de Amazon, gano con compras que califican.

Códigos fuente de Arduino

Descripción: Primero necesitamos definir los pines y algunas variables necesarias para el programa. En el área de configuración configuramos el pin LED en el maestro como salida e inmediatamente lo configuramos en bajo. También iniciamos la comunicación en serie con una velocidad de baudios de 38400. De manera similar, en el esclavo configuramos el pin del botón como entrada, definimos el. servo, al que está conectado el pin e iniciar la comunicación en serie con la misma velocidad en baudios.

En la sección de bucle, en ambos códigos, usamos la función Serial.available() para verificar si hay datos disponibles para leer en el puerto serie, y usando la función Serial.read(), leemos los datos y los almacenamos en la variable “Estado”. Entonces, cuando el maestro recibe el carácter «1» enviado por el esclavo cuando el estado de la clave es alto o se presiona la tecla, el LED se enciende. De lo contrario, el LED se apaga cuando el carácter es «0».

En lo que respecta al control del servomotor, primero leemos el valor del potenciómetro en el maestro y lo asignamos a un rango adecuado para el servo de 0 a 255. Este valor se envía al esclavo, que lo utiliza para girar el servomotor en consecuencia. Eso es todo lo que necesitamos y aquí está la demostración del ejemplo.

Cifra clave principal:

/*
 * How to configure and pair two HC-05 Bluetooth Modules
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 * 
 *                 == MASTER CODE ==
 */

#define ledPin 9

int state = 0;
int potValue = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
 if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    state = Serial.read(); // Reads the data from the serial port
 }
 // Controlling the LED
 if (state == '1') {
  digitalWrite(ledPin, HIGH); // LED ON
  state = 0;
 }
 else if (state == '0') {
  digitalWrite(ledPin, LOW); // LED ON
  state = 0;
 }
 // Reading the potentiometer
 potValue = analogRead(A0);
 int potValueMapped = map(potValue, 0, 1023, 0, 255);
 Serial.write(potValueMapped); // Sends potValue to servo motor
 delay(10);
}Code language: Arduino (arduino)

Código esclavo:

/*
 * How to configure and pair two HC-05 Bluetooth Modules
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 * 
 *                 == SLAVE CODE ==
 */
 
#include <Servo.h>
#define button 8

Servo myServo;
int state = 20;
int buttonState = 0;

void setup() {
  pinMode(button, INPUT);
  myServo.attach(9);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
 if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    state = Serial.read(); // Reads the data from the serial port
 }
 // Controlling the servo motor
 myServo.write(state);
 delay(10);
 
 // Reading the button
 buttonState = digitalRead(button);
 if (buttonState == HIGH) {
   Serial.write('1'); // Sends '1' to the master to turn on LED
 }
 else {
   Serial.write('0');
 }  
}Code language: Arduino (arduino)

Eso es todo. Si tiene algún problema, puede pedir ayuda en la sección de comentarios a continuación.

Categorías tutoriales de arduino
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT

Introducción:

En esta guía aprenderemos cómo configurar y emparejar dos módulos Bluetooth HC-05 como dispositivos maestro y esclavo. En tutoriales anteriores, hemos aprendido a conectar el módulo Bluetooth HC-05 al Arduino y a establecer una comunicación entre un smartphone Android y el Arduino. En esos tutoriales utilizamos el módulo Bluetooth HC-05 con su configuración predeterminada, como dispositivo esclavo.

Configuración del módulo Bluetooth HC-05 – Comandos AT:

Para este tutorial, necesitamos configurar ambos módulos. Primero, debemos cambiar al Modo de Comandos AT para configurar los módulos. Para hacer esto, conectamos el módulo Bluetooth al Arduino siguiendo el esquema de circuito explicado en los tutoriales anteriores. Además, debemos conectar el pin «EN» del módulo Bluetooth a 5 voltios y también intercambiar los pines TX y RX en la placa Arduino.

Para entrar en el modo de comandos AT, mantenemos presionado el pequeño botón sobre el pin «EN» y encendemos el módulo. Si el LED del módulo Bluetooth parpadea cada 2 segundos, significa que hemos ingresado con éxito en el modo de comandos AT. Luego, cargamos un sketch vacío en el Arduino, pero no olvidemos desconectar las líneas RX y TX mientras cargamos. Después, abrimos el Monitor Serial y seleccionamos «Ambos NL y CR» y una velocidad de baudios de «38400», que es la velocidad de baudios predeterminada del módulo Bluetooth. Ahora estamos listos para enviar comandos, cuyo formato es el siguiente.

Todos los comandos comienzan con «AT», seguidos por el signo «+», luego un y terminan con el signo «?» que devuelve el valor actual del parámetro o el signo «=» cuando queremos introducir un nuevo valor para ese parámetro.

Preguntas Frecuentes:

  1. ¿Cómo configurar un dispositivo esclavo HC-05?

    Para configurar un dispositivo esclavo HC-05, necesitamos obtener su dirección mediante el comando “AT+ADDR?”. Este comando nos devolverá la dirección del módulo Bluetooth, que será necesaria para configurar el dispositivo maestro.

  2. ¿Cómo configurar un dispositivo maestro HC-05?

    Primero, verificamos la velocidad de baudios para asegurarnos de que sea la misma que la del dispositivo esclavo. Luego, mediante comandos como “AT+ROLE=1” y “AT+CMODE=0”, configuramos el dispositivo como maestro y establecemos el modo de conexión. También asociamos la dirección del dispositivo esclavo mediante el comando “AT+BIND=”.

  3. ¿Cómo se realiza la comunicación entre dos módulos Bluetooth HC-05?

    Una vez configurados como maestro y esclavo, si reconectamos los módulos en modo normal y los encendemos, en cuestión de segundos el dispositivo maestro se conectará al esclavo. Ambos módulos comenzarán a parpadear cada 2 segundos, lo que indica una conexión exitosa.

Con estos simples pasos, puedes configurar y emparejar fácilmente dos dispositivos HC-05 Bluetooth como maestro y esclavo para establecer comunicación inalámbrica entre ellos. Recuerda que puedes encontrar una lista completa de comandos y parámetros AT del HC-05 [aquí](https://howtomechatronics.com/tutorials/arduino/how-to-configure-pair-two-hc-05-bluetooth-module-master-slave-at-commands/).

¡Esperamos que esta guía te haya sido útil para configurar tus dispositivos Bluetooth HC-05! Si tienes alguna pregunta adicional, no dudes en dejar tu comentario abajo y con gusto te ayudaremos.

5 comentarios en «Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT»

  1. ¡Estoy emocionado por probar estos pasos! Configurar módulos Bluetooth siempre me ha dado dolores de cabeza, así que espero que este tutorial simplifique el proceso. ¡Gracias por la ayuda! 🙌🏻🔗

Deja un comentario