Datos de configuración que trae de fábrica, ejemplo:
UART: 9600,0,0
Role: 0 Esclavo
Modo: 1 Se comunica con quien lo llame
Password: 1234
Nombre: HC-05
Dirección: 2019:07:00249a
Con estos datos se puede usar al módulo como esclavo, usando ya sea una computadora, arduino, Raspberry Pi Pico o algún PIC, por mencionar algunos.
Para usar un par de módulos en una aplicación, donde se requiera Maestro y Esclavo,o esclavos hasta 8 por maestro, es necesario modificar la configuración de uno de los módulos, porque como se indicó arriba, se venden programados todos para usarse como esclavos, para eso se conecta el módulo como se indica en la figura, y se leen los datos para conocer la configuración que trae cada HC-05, como los datos que se muestran en el ejemplo anterior.
1.- Se toma nota de los datos, pero se dejan todos los datos del Esclavo como están, únicamente se recomienda modificar el nombre y el password o clave de emparejamiento.
2.- Se lee el password y la dirección o MAC del Esclavo, para que al configurar se proporcione esos datos al módulo que realizará el papel de Maestro.
3.- Para configurar un módulo siga los siguientes pasos:
a.- Conecte el módulo de la siguiente manera: Observe que Rx con Tx y viceversa, así debe conectarse
Pi Pico HC-05 Notas:
Rx Tx
Tx Rx
GND GND
3.3 V Vcc No conectar a 5 V
3.3V EN En el orden que se indica para AT1 o AT2
No Conectar STATE
Cómo seleccionar el modo de configuración.
Existen 2 modos de configuración del módulo bluetooth HC-05
AT1, para entrar al modo AT1, primero se energiza el módulo, observe el encendido intermitente del LED que trae consigo, debe «parpadear» 2 veces por segundo, es la forma de operación y está a la espera de que alguien lo llame. Ahora conecte a 3.3V al Pin EN del módulo, no debe modificarse la velocidad de parpadeo. Para asegurarse de que entró al modo AT1, ejecute el programa, cuando el programa le pida la velocidad, teclee 9600, cuando pida el comando, teclee AT?, el Módulo debe responder: OK\r\n. Si la velocidad de parpadeo no es 2 veces por segundo, no está en modo de operacion normal, y el HC-05 no va responder que está listo. Si el parpadeo del LED es 2 veces por segundo, en ese caso, pruebe con otra velocidad, iniciando con 4800, 9600, 19200,38400, etc., hasta que conteste OK\r\n , si no responde esto, revise las conexiones.
AT2, para entrar al modo AT2, primero conecte a 3.3V el Pin EN del módulo, posteriormente conecte VCC del módulo a 3.3V, observe el encendido intermitente del LED que trae consigo, debe «parpadear» 1 vez por segundo, eso indica que está en modo AT2, para probarlo, ejecute el programa, teclee 38400 cuando le pida la velocidad, cuando el programa le pida el comando, teclee AT?, (no importa si es mayúsculas o minúsculas, de igual forma el final del comando debe contener \r\n, pero no se preocupe, el programa se encarga de eso), si todo está bien, el módulo debe responder: OK\r\n.
A partir de acá, independientemente en qué modo esté el módulo bluetooth, continúe con el programa:
Para leer datos del módulo teclee :
AT+ADDR? Para obtener la dirección.
Como ejemplo debe responder +ADDR:2019:07:002dc7\r\n
AT+ROLE? Para obtener el rol que va jugar en el programa, 0 para esclavo, 1 para maestro
Como ejemplo debe responder +ROLE:0\r\n
AT+CMODE? Para obtener el modo en que se va conectar. 1 con todos, 0 con el que se le indique
Como ejemplo debe responder +CMODE: 0\r\nOK\r\n
AT+UART? Para obtener los parámetros del puerto. <BAUDs>,<Bit de paridad>, <Bit de paro>
Como ejemplo debe responder +UART:9600,0,0,,,\r\nOK\r\n
Nota: a veces responde 9600,,,\r\nOK\r\n Supongo que obvia los ceros para indicar no paridad y 1 bit de paro
AT+NAME? Para obtener el nombre del módulo
Como ejemplo debe responder +NAME:HC-05\r\nOK\r\n
AT+PSWD? Para obtener el pin o clave de emparejamiento del módulo , sólo acepta 4 números
Como ejemplo debe responder +PSWD:4321\r\nOK\r\n
Estos son los datos que más interesan para utilizar un HC-05, se recomienda cambiar el nombre y el pin de emparejamiento. De la siguiente forma se reconfiguran estos datos.
AT+PSWD=1234 Para cambiar el pin o clave de emparejamiento del módulo
En este caso debe responder: OK\r\n
AT+UART=19200,0,0 Para cambiar la velocidad de operación del módulo, también para indicar la paridad y bit de paro, si es lo que necesitamos. Recuerde que debe ser la misma en Maestro y Esclavo.
En este caso debe responder: OK\r\n
AT+NAME=HC-05_Slave Para ponerle un nuevo nombre al módulo
En este caso debe responder: OK\r\n
Puede ponerle cualquier nombre, éste es un ejemplo
Recuerde que se indicó antes, este es el procedimiento para leer y /o reconfigurar como Esclavo a un módulo HC-05, a continuación veremos cómo reconfigurar a un módulo para que tenga el rol de Maestro:
Hasta aquí ya debe conocer los datos del Módulo: NAME, PSWD, ROLE, CMODE, ADDR y UART
1.- AT+ROLE=1 Para cambiar el rol a Maestro
Debe contestar OK\r\n
2.- AT+CMODE=0 Para indicarle que se conectará con el módulo especìfico que le indicaremos
Debe contestar OK\r\n
3.- AT+BIND=2019,07,002DC7 Para indicarle que es la dirección del Esclavo con el que queremos que se conecte. Observe que son los datos que obtuvimos arriba, +ADDR:2019:07:002dc7\r\n también observe que cambiamos los 2 puntos por una coma, también cambiamos las minúculas a mayúsculas. esa en la forma correcta de indicarle al Maestro cual es la MAC del Esclavo con el que se va conectar, se le pueden indicar hasta 8 MAC para que se conecte con hasta 8 Esclavos.
Debe contestar OK\r\n
4.- AT+PSWD=4321 Para que tenga el mismo pin de emparejamiento que el Esclavo, si no es así no se van emparejar.
Debe contestar OK\r\n
Para asegurarnos de que se realizaron los cambios, debemos proceder como se indicó arriba para leer los datos de un módulo, lo podemos realizar inmediatamente después de haber enviado el comando con el nuevo dato. Ejemplo:
Enviamos los comandos
AT+ROLE=1 ContestaOK\r\n
at+role? contesta b’+ROLE:1\r\nOK\r\n’
A propósito se muestra que puede ser con minúsculas, y cómo responde el módulo a través del programa ejecutándose en el raspberry pi pico.
Así debe procederse con cada comando enviado para modificar algún parámetro.
Con estas indicaciones queda terminada la explicación de la configuración del módulo bluetooth HC-05.
Nota 1: Se recomienda que si se va a cambiar la velocidad a la que va a operar el módulo, sea éste comando el último que se cambie debido a que ya no va a responder, ya que éste comando cambia la velocidad de comunicación a la que está operando el firmware con respecto al programa que estamos para programar el módulo. No olvide que el comando AT+UART=(un valor diferente al que tiene el módulo antes de que hagamos el cambio de velocidad de comunicación.) debe realizarse al final.
Nota 2: Si realiza el cambio de la velocidad de comunicación con el modo AT2, ocurre algo que puede confundirlo, aunque cumpla con lo indicado en la NOTA 1, ya que si programamos a 9600,0,0 los datos de comunicación y queremos verificar si está correcto. sucede que siempre vamos a leer 4800,0,0. Se recomienda confiar en el programa, pero si duda, utilice el modo AT1 (debe recordar el último valor que programó, de lo contrario el modulo no va a responder.) para verificarlo. Suponemos que existe algún error en el firmware en modo AT1, ya que automáticamente resetea cualquier valor que demos y lo deja en 4800,0,0.
Nota final, haga caso omiso de la existencia del SW que tiene el HC-05, porque hay un error en el firmware, es lo que falla al querer hacer uso de ese SW. Es más recomendable conectar el pin EN a 3.3V, como ya se indicó en el párrafo, modos de configuración del módulo Bluetooth HC-05, en la segunda página.