martes, 25 de abril de 2017

Arduino + Bluetooth HC-05 [Configuracion con Comandos AT]


Hola de nuevo mis estimados lectores!!!

Ahora vengo con este magnifico post que creo que a muchos les va a interesar.
A lo largo de este tiempo he visto que mucha gente tiene duda de como configurar su modulo Bluetooth HC-05 por medio de comandos AT, esto para cambiar el nombre de el modulo, para cambiar la contraseña que viene por default o bien para cambiar el modo entre Maestro y Esclavo. Pues bien aquí se los explicare de manera detallada.

Para esta practica yo usare en concreto este modelo que les muestro en la imagen:
Cabe señalar que este es el modelo que no tiene un Botón integrado como algunos otros que les sirve para entrar en modo de configuración, es por eso que en esta practica utilizaremos el pin "WakeUp" para entrar en este modo.

Materiales necesarios:
1 Arduino UNO.
1 Modulo Bluetooth HC-05 (como el que mencione anteriormente)
Cables para conexión.

Diagrama de conexión:

Como se los marco en la imagen anterior, el modulo que utilizaremos tiene un pin llamado "WakeUp" que en los otros modelos suele llamarse "Key". Quise  aclararlo para no tener problemas en la conexión.

Bien, teniendo ya la conexion vamos a cargar a Arduino el siguiente Sketch que viene explicado en las lineas mas relevantes:

Les comento que he testeado con al rededor de 10 módulos de estos y 9 tenían la velocidad por default de 38400 Baudios, solo uno la tenia en 115200, es por eso que les dejo esa linea comentada en caso de que no responda a la primera.

Después de cargar el código a Arduino tienen que abrir el monitor serial y configurarlo de este manera:
Hay que asegurarse que la casilla "Autoscroll" este chekeada, en las opciones de desplazamiento de las lineas tengamos "Ambos NL & CR" y la velocidad de comunicación en "9600 Baudios" esto ultimo no hay que cambiarlo por que esta es la velocidad de transmisión entre la PC y Arduino, independiente de la velocidad de transmisión de el modulo Bluetooth.

Bien, teniendo todo configurado y el sketch cargado escribiremos en la caja de texto la palabra "AT" en mayúsculas y darle clic a "Enviar" y si nos responde con un "OK" significa que ya hemos entrado en modo configuración de el modulo.
Ahora ya podemos enviarle comandos para configurar el modulo a nuestro gusto.
Aquí les dejo una lista de algunos:

Comando Descripción Respuesta si hay comunicación
AT Comando de prueba OK
AT+ROLE? Comando para verificar el rol de el modulo +ROLE:0(0 para esclavo y 1 para maestro)
AT+ROLE=0 Comando para poner el modulo en modo Esclavo OK
AT+ROLE=1 Comando para poner el modulo en modo Maestro OK
AT+VERSION? Comando para obtener la version de el Firmware +VERSION:hc01.comV2.1
AT+BAUD="numero"
*lea al final de la tabla!
Comando para  configurar el baurate al que trabajará el bluetooth OK
AT+NAME? Comando para saber el nombre que lleva el módulo HC-05 +NAME:HC-05
AT+NAME="nombre" Comando para  cambiar el nombre que llevara el módulo HC-05 OK
AT+PSWD? Comando para saber la contraseña actual del módulo bluetooth +PSWD:1234
AT+PSWD="numero de 4 digitos" Comando para cambiar la contraseña del módulo bluetooth OK

*El parámetro número es un caracter hexadecimal de ‘1’ a ‘c’ que corresponden a los siguientes Baud Rates: 1=1200, 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200, 9=230400, A=460800, B=921600, C=1382400

Después de haber configurado el modulo a tu gusto, tenemos que desconectar el pin "WakeUp" y poner el VCC a 5V de Arduino como se muestra a en la imagen de abajo.
Y ya podremos usar el Modulo de manera normal.
Hasta aqui este post. Espero les sirva!!!
Y como siempre, si tienen alguna duda o sugerencia comenten abajo para enterarme y así poder resolverla juntos.
Atentos a los siguientes post ya que estaré haciendo practicas con este modulo y App Inventor para crearnos nuestra propia aplicación para Android de una manera muy sencilla.


Nota: En esta practica se utilizo la librería "Software Serial" que ya viene preinstalada en el IDE de Arduino, con la finalidad de no tener problemas al momento de cargar el sketch. Ya que al utilizar los pines RX y TX(0 y 1) que nos provee el Arduino tendríamos que haber desconectado uno de estos antes de cargar el sketch para no tener errores.

1 comentario:

  1. Hola, amigo. Tengo 2 módulos HC-05 uno en la parte frontal tiene escrito www.hc01.com y el otro no. Sabes a qué se debe?
    Cosa rara... con lo que mencionas sí puedo configurar uno de ellos (el que no tiene escrito el hc01) pero el que tiene escrito www.hc01.com no puedo configurarlo. Puedes ayudarme?

    ResponderBorrar