Configurar el modulo Bluetooth HC-05 como maestro/esclavo

Configurar el bluetooth HC-05 como maestro o esclavo. Para esto ocuparemos 2 Módulo HC-05, 2 Arduino´s y la misma configuración del LED al pin. Para la configuración si es necesario que se alimente con 3.3V y GND no 5V. Este modulo tiene esta gran ventaja de poder ser configurado de esta forma.

Una de las configuraciones del tipo KEY requiere que un pin se encuentre en estado ALTO. Dado que el bluetooth HC05 utiliza al puerto serial para ser configurado. Entonces para poder usar el puerto serial de Arduino para mostrar mensajes y ademas configurar el modulo, se usara la biblioteca SoftwareSerial.h. Esto permite colocar a los pines de Tx y Rx en donde sea necesario.

Para poder configurar a este modulo se utilizan comandos AT . Estos comandos son texto con formato que se envia al puerto serial del modulo HC-05. Rápidamente mencionare los principales códigos AT:

Configurar el modulo Bluetooth HC-05 Como Maestro o Esclavo

Comandos de configuración para el módulo Bluetooth HC-05

  • Regresar a opción Fabrica AT+RESET
  • Saber el nombre del modulo: AT+NAME?
  • Cambiarlo a “MINOMBRE”: AT+NAME=MINOMBRE
  • Saber configuración: AT+ROLE?
  • Cambiarlo al modo esclavo: AT+ROLE=0
  • Cambiarlo al modo maestro: AT+ROLE=1
  • Saber la contraseña: AT+PSWD?
  • Cambiarlo a 0000: AT+PSWD=1234 según la Contraseña a Conectar (max 4 char.)
  • Saber la velocidad (9600): AT+UART?
  • Cambiarlo a 57600: AT+UART=57600,0,0
  • Saber modo de Conexión: AT+CMODE? (0 Espesifico 1 General)
  • A cualquier dispositivo: AT+CMODE=1

Procedimiento para configurar el Bluetooth HC-05 como maestro/esclavo

Paso 1 Programar Arduino con el siguiente código:

Paso 2: Ingresar los comandos AT en la terminal serial de Arduino

Una vez programado y conectado el modulo, abriremos el IDE de Arduino el monitor serial. Modificamos los valores de velocidad a “9600 baud” y a “y las opciones de abajo como: Nl y CR” . Después se precionara el botón de Reset en la tarjeta Arduino. En este momento observaremos en la pantalla que dice: “Enter AT commands:”.

Se mandará por transición un mensaje AT enseguida por lo que la respuesta debe ser “OK”. También puedes revisar que el Bluetooth, si parpadea cada 2 Seg, vamos bien, de lo contrario habrá que verificar conexiones.
Desconectar el Bluetooth con el Arduino aun encendido (cable VCC al final) y presionar botón Reset o abrir y cerrar Monitor Serial. En este momento observaremos en la pantalla que dice: “Enter AT commands:”, El programa manda un AT enseguida por lo que la respuesta debe ser un “OK”.
En caso contrario revisar Conexión, usualmente puede ser un error con los Tx y Rx.

Configuración para HC-05 en Modo Esclavo

Si el comando fue aceptado correctamente, se recibirá el mensaje “OK”. Entonces, vamos comenzando, para cambiarl al modulo Bluetooth HC-05 al modo esclavo, se enviará el siguiente comando: AT+ROLE=0 . Si la respuesta se recibe como un “OK” entonces ya esta configurado como esclavo. Podemos volver a verificar la respuesta al comando AT+ROLE? y debe de volver a arrojarnos “0”. Solo para estar seguros que conocemos y la velocidad del módulo, podemos revisar con los siguientes comandos:

  1. Cambiarlo a “MINOMBRE”: AT+NAME=MINOMBRE .
  2. Saber el nombre del modulo: AT+NAME? .
  3. Cambiarlo a 0000: AT+PSWD=1234 <—según la Contraseña a Conectar (max 4 char.)
  4. Saber la contraseña: AT+PSWD? .
  5. Cambiarlo a 9600: AT+UART=9600,0,0 .
  6. Saber la velocidad (9600): AT+UART? .
  7. Conectar a cualquier dispositivo: AT+CMODE=1 .
  8. Saber modo de Conexión: AT+CMODE? (0 Especifico 1 General)

Una vez hecho este procedimiento, desconectaremos el cable de key y reiniciamos el Arduino. Verificamos preguntando una vez más lo esencial como Nombre, Contraseña, Modo, Velocidad. (Puede que el nombre no arroje respuesta, pero siga adelante). En caso ser exitosa la operación y para terminar, desconecte por completo el Bluetooth.

Cuando se ha apagado e modulo, solo alimente a los pines Vcc y GND. Esto es, las veces que sean necesarias hasta que vuelva al estado de Operación. Sabremos esto, cuando el led, regrese a parpadear cada 1/2 segundo. Recomiendo etiquetar de alguna manera los Módulos, a fin de asegurar que estamos configurando un Módulo en específico.

Para el segundo Modulo Bluetooth HC-05, lo configuraremos en modo Maestro. Para cambiarlo al modo maestro, volveremos a abrir el monitor serial de Arduino y enviaremos el siguiente comando: AT+ROLE=1 la respuesta debe se un “OK”. Para verificar la configuración, volvemos a enviar el comando AT+ROLE? La respuesta debe ser “1”.

Un punto importante es que la contraseña del esclavo sea la misma contraseña que el Maestro, de lo contrario no se logrará la comunicación. También es MUY IMPORTANTES que tengan la misma velocidad de BAUDIOS. Lo dejamos en 9600 para seguir teniendo comunicación con Arduino.

Solo para estar seguros que conocemos la contraseña y la velocidad resisé los siguientes pasos:

  1. Cambiarlo a “MINOMBRE”: AT+NAME=MINOMBRE
  2. Saber el nombre del modulo: AT+NAME?
  3. Cambiarlo a 0000: AT+PSWD=1234 <—según la Contraseña a Conectar (max 4 char.)
  4. Saber la contraseña: AT+PSWD?
  5. Cambiarlo a 9600: AT+UART=9600,0,0
  6. Saber la velocidad (9600): AT+UART?
  7. Conectar a cualquier dispositivo:AT+CMODE=1
  8. Saber modo de Conexión: AT+CMODE? (0 Especifico 1 General)

En caso de solicitar conectarse a una MAC específica, lo podemos hacer con la App para poder ver su MAC. Recomiendo conectar el Modulo Maestro a un Módulo Esclavo de esta manera aunque se apague y prenda nuevamente siempre ara conexión con solo ese modulo.

Los pasos son los siguientes sin alterar el orden. La MAC es muy fácil de ubicar en la App “Bluetooth Serial Controller” de cualquier modulo Esclavo, al intentar comunicarse haciendo búsqueda en la lupa. Revisar Tutorial “Común. App-Android a Arduino”.

  1. Dirección especifica: AT+CMODE=0
  2. Cambiarlo al modo maestro: AT+ROLE=1
  3. Especificar Contraseña: AT+PSWD=1234
  4. Especificar dirección MAC: AT+BIND=98D3,31,B3FFB8 <—en este ejemplo “001312136293″
  5. Iniciar SPP: AT+INIT
  6. AT+IAC=9E8B33
  7. AT+CLASS=0
  8. AT+INQM=1,9,48
  9. AT+INQ
  10. AT+PAIR=0013,12,136293
  11. AT+LINK=0013,12,136293

Todo debería arrojar un “OK”, digo debería ya que a mí no me mando OK siempre, pero funciono. No hay estrés, prueben más adelante si logro la comunicación, ya en caso de contrario. Repetir nuevamente el Proceso. Ahora desconectamos el cable de key y reiniciamos el Arduino. Verificamos preguntando una vez más lo esencial como Nombre, Contraseña, Modo, Velocidad.
Puede que el nombre no arroje respuesta, pero siga adelante.
——————–“En caso de ser exitosa la operación…”———————

Para terminar desconecte por completo el Bluetooth, una vez apagado el Modulo. Sólo alimente Vcc y GND las veces que sean necesarias hasta que vuelva al estado de Operación. Esto se sabe, hasta ver que el led vuelve a parpadear cada 1/2 segundo. Aunque el Modulo puede operar a 5V lo recomendable son los 3.3V para el ahorro de energía.Y como respuesta Colocar un LED con una resistencia de 220 ohm del Pin 12 a GND.

El programade prueba será el siguiente, tanto para HC-06 o HC-05 en modo Esclavo:

Como se podrán dar cuenta es el la misma configuración que nuestro pasado tutorial.
Comunicación App-Android a Arduino”. Por lo que recomiendo revisarlo para comprobar funcionamiento de encendido y apagado de LED por Comunicación Serial “1” y “0”.
Una vez tenemos Asegurado nuestro Modulo HC-05 en modo esclavo lo conectamos según muestra el Siguiente Programa: (recordemos que gracias a la librería SoftwareSerial.h TX y RX se han cambiado).

Con estas sencillas bases se comprende lo básico, como lo explico en el Primer tutorial,
“Comunicación App-Android a Arduino” esto es el código básico para Comunicación con 1 solo Carácter, si por equivocación o practica se dieron cuenta que si mandan “10” o “01” el ultimo digito es el que prevalece.

Anexo 1: Bluetooth Esclavo Servo

Anexo 2: Bluetooth Maestro Potenciometro

5 Comments

  1. jose abril 2, 2015
    • Hector Torres abril 6, 2015
      • Randi enero 6, 2017
    • Hector Torres abril 9, 2015
  2. DIEGO MONTES octubre 21, 2015

Escríbenos tus dudas o comentarios