En este tutorial explicaremos como configurar nuestro módulo HC-06, Aprenderemos como cambiar la velocidad de transmisión, el nombre y código de vinculación de nuestro hc-06 entre otras cosas.
Este tutorial solo se aplica al HC-06, para el HC-05 la configuración es diferente.
EL modulo Bluetooth HC-06 viene configurado de fábrica como Esclavo y no se lo puede cambiar, pero otras características si las podemos configurar usando comandos AT, estas caracterizas vienen por defecto con valores predeterminados que se muestran a continuación:
– Nombre por defeco: “linvor” o “HC-06”
– Código de emparejamiento por defecto: 1234
– La velocidad por defecto (baud rate): 9600
EL Modulo HC-06 tiene dos estados los cuales es importante conocer:
Modo AT (Desconectado):
– Entra a este modo tan pronto alimentas el modulo, y cuando no se ha establecido una conexión bluetooth con ningún otro dispositivo
– EL LED del módulo está parpadeando (frecuencia de parpadeo del LED es de 102ms)
– En este modo es cuando se debe enviar los comandos AT en caso se quiera configurar, si se envían otros datos diferente a los comandos AT el HC-06 los ignorará.
Modo Conectado
– Entra a este modo cunado se establece una conexión con otro dispositivo bluetooth.
– El LED permanece prendido sin parpadear
– Todos los datos que se ingresen al HC-06 por el Pin RX se trasmiten por bluetooth al dispositivo conectado, y los datos recibidos se devuelven por el pin TX. La comunicación es transparente
– En este Modo el HC-06 no puede interpretar los comandos AT
Entendido lo anterior vamos realizamos las conexiones para configurar el HC-06.
Se puede hacer un programa en Arduino que haga toda la configuración, pero nosotros lo haremos manualmente desde la PC, esto lo podemos hacer de dos formas:
Hacer la comunicación entre la PC y el módulo de forma indirecta a través de un Arduino:
Las conexiones serían las siguientes:
Ahora es necesario compilar y cargar el siguiente sketch que hemos preparado, que como vemos lee el Monitor Serial de nuestro IDE y se lo envía serialmente hacia los pines RXD y TXD de nuestro módulo HC-06.
#include <SoftwareSerial.h> // Incluimos la librería SoftwareSerial SoftwareSerial BT(10,11); // Definimos los pines RX y TX del Arduino conectados al Bluetooth void setup() { BT.begin(9600); // Inicializamos el puerto serie BT que hemos creado Serial.begin(9600); // Inicializamos el puerto serie } void loop() { if(BT.available()) // Si llega un dato por el puerto BT se envía al monitor serial { Serial.write(BT.read()); } if(Serial.available()) // Si llega un dato por el monitor serial se envía al puerto BT { BT.write(Serial.read()); } }
Hacer la comunicación entre la PC y el módulo de forma Directa usando un conversor USB-Serial:
Las conexiones serían las siguientes:
Como se observa los datos le llegan directamente desde la PC a través del módulo USB a Serial, para esto se pueden usar cualquier modelo de conversor como el CP2102 y PL2303 pero también se puede hacer a través de un módulo MAX232 en caso tengan un puerto físico serial en su PC
Configurando nuestro Módulo HC-06
En nuestro ejemplo usaremos un conversor USB serial PL2303 que se ha instalado como puerto serial COM5, por lo que antes de abrir el Monitor serial, en nuestro IDE Arduino debemos escoger dicho Puerto.
Es bueno recordar que para enviar los comandos AT nuestro HC-06 debe estar en Modo AT esto significa sin conexión bluetooth con otro dispositivo o verificar que LED del HC-06 esté parpadeando.
Una vez hecho las configuraciones y conexión correspondientes, abrimos el Monitor serial del IDE de Arduino, pero puedes usar cualquier otro monitor serial si lo deseas.
En la parte inferior debemos escoger “No hay fin de línea” y la velocidad “9600 baud” (la velocidad por defecto de nuestro HC-06, si se lo ha cambiado poner la velocidad correspondiente)
Echo esto Podemos empezar a enviar los comandos AT a nuestro Bluetooth
Test de comunicación
Lo primero es comprobar si nuestro bluetooth responde a los comandos AT
Enviar: AT
Recibe: OK
Si recibimos como respuesta un OK entonces podemos continuar, sino verificar las conexiones o los pasos anteriores.
Cambiar nombre de nuestro módulo HC-06
Por defecto nuestro módulo bluetooth se llama “HC-06” o “Linvor” esto se puede cambiar con el siguiente comando AT
Enviar: AT+NAME Ejm: AT+NAMERobot
Respuesta: OKsetname
El nombre puede ser de hasta 20 caracteres como máximo
Cambiar Código de Vinculación
Por defecto viene con el código de vinculación (Pin) “1234”, para cambiarlo hay que enviar el siguiente comando AT
Enviar: AT+PIN Ejm: AT+PIN1465
Respuesta: OKsetPIN
Configurar la velocidad de comunicación:
La velocidad por defecto es de 9600 baudios, para cambiarlo se hace uso del siguiente comando AT:
Enviar: AT+BAUD
Respuesta: OK
Donde equivale a una velocidad de , los valores pueden ser:
Numero—baudrate
1 ———1200
2 ———2400
3 ———4800
4 ———9600
5 ———19200
6 ———38400
7 ———57600
8 ———115200
Ejemplo:
Enviar: AT+BAUD3
Respuesta: OK4800
Nota: Después de cambiar la velocidad, para continuar enviando comando AT, hay que hacerlo con la nueva velocidad, para eso si se está usando un conversor USB serial tan solo hay que cambiar la velocidad en el monitor Serial (parte inferior); pero si está enviando los comandos AT a través de una Arduino es necesario volver a programar y cargar un nuevo sketch con la nueva velocidad.
Otros comandos AT de utilidad:
Obtener la versión del firmware:
Enviar: AT+VERSION
Respuesta: OK<Versión> Ejm: OKLinvor1.8
Configuración de Paridad (solo configurable para versiones V1.5 o superiores)
Sin Paridad (Este es el valor por defecto)
Enviar: AT+PN
Respuesta: OK NONE
Paridad Impar
Enviar: AT+PO
Respuesta: OK ODD
Paridad Par
Enviar: AT+PE
Respuesta: OK EVEN
En la siguiente imagen podemos ver la secuencia de datos recibidos por el monitor serial en el mismo orden en que se listaron los comandos AT: