Antes de comenzar el detalle del mismo debo mencionar que existen otros módulos muy comunes como el HC-05 que muchas veces lo venden como reemplazo, o bien en la compra no detallan cual es pero es importante conocer la diferencia.
Una simple diferencia es que el módulo HC-06 funciona como Slave solamente, y el HC-05 funciona como Master y Slave, básicamente es eso, lo cual podría condicionarnos algún desarrollo, pero la realidad es que el HC-06 tiene un valor menor y nos sirve tanto para enviar y recibir (siempre y cuando utilicemos de a uno por vez, por este tema de Maestro y Esclavo).
Si compramos uno de estos módulos y no sabemos cual es, la forma más sencilla es alimentándolo (no nos olvidemos que se alimenta con 3,3V), por suerte y para nuestra seguridad y ventaja tanto el módulo HC-05 como el HC-06 disponen de la alimentación en los mismos pines, por ende solo debemos alimentar el módulo y una vez alimentado buscarlo con algún dispositivo bluetooth (como un Celular, Tablet, PC, etc…) una vez que lo busquemos en nuestro dispositivo nos aparecerá el nombre, si dice “Linvor” es el HC-06 y si dice “HC-05” es el otro.
Antes de comunicar nuestro módulo con la computadora para setear el mismo debemos tener en cuenta que el módulo en sus pines TX y RX envía y recibe datos mediante un protocolo serial pero con un nivel lógico TTL (igual que un microcontrolador). La computadora en su puerto serial mediante la norma RS232 maneja niveles de tensión de +/-10V por lo que si conectamos directamente el módulo al puerto serial quedará inservible. Tenemos que poner el medio un transceptor como el MAX232 el cual convierte el TTL en RS232 y el RS232 en TTL de esta forma podemos comunicar nuestro módulo.
En mi caso he utilizado el integrado MCP2200 que es un conversor UART / USB, el mismo se conecta por USB al PC y genera un puerto serial virtual y los pines de comunicación TX y RX del MCP2200 son de nivel TTL por lo que no hay necesidad de un MAX232. Pero es solo porque ya lo tenia armado y me pareció mas practico.
El módulo viene con un usuario y una clave por defecto al igual que un seteo de velocidad de transmisión: User: linvor, Pass: 1234, Baud: 9600,8,N,1.
Esta es la configuración por defecto para el módulo HC-06 que es el que trataremos en este post.
Estos módulos son configurables tanto el nombre de usuario, la password y los baudios (entre otras cosas) mediante los comandos AT, estos comandos son los viejos comandos que se utilizaban en los módems telefónicos para configurarlos y comandarlos, se tratan de comandos en código ASCII que se envían por medio de una terminal serial a nuestro módulo.
Si escribimos el comando:
AT [Nos devolverá “OK”] esto sirve para saber que esta bien conectado y buen funcionamiento.
Para Setear las siguientes configuraciones es necesario que el módulo no esté conectado a un dispositivo, el Led debe parpadear sino no nos tomará los comandos.
NOTA: Los comandos más largos que “AT” deben escribirse en un block de notas o algo similar ya que tenemos que copiarlos de ahí y pegarlos en la terminal, si escribimos a mano en la terminal AT+XXXXXXX el módulo bluetooth leerá AT y nos enviará OK sin dejarnos terminar de escribir el comando entero.
AT+BAUD# [Por ejemplo AT+BAUD4 y nos devolverá el comando OK9600]
(donde # es un número hexadecimal del 1 al C)
1 – 1200
2 – 2400
3 – 4800
4 – 9600 (Default)
5 – 19200
6 – 38400
7 – 57600
8 – 115200
9 – 230400
A – 460800
B – 921600
C – 1382400
Esta es la velocidad a la cual va a funcionar nuestro módulo, es necesario saberla ya que sino no se podrá establecer la comunicación serial con el microcontrolador.
AT+VERSION [Nos devolverá la versión del dispositivo casi siempre “OKlinvorV1.5”]
AT+NAMEuser [Donde user será el nombre que le daremos. por ejemploAT+NAMEelectgpl
Nos devolverá el comando OKsetname].
AT+PINxxxx [nos permitirá cambiarle la clave onde xxxx será la nueva clave por ejemplo AT+PIN7890 y nos devolverá el comando OKsetPIN].
Entonces nuestro modelo esta listo para funcionar con nuestro nuevo nombre de usuario, nueva clave y nueva velocidad.
En mi ejemplo lo he seteado en 9600,8,N,1 por estándar y porque no requiere de mayor velocidad, por eso mismo en el microcontrolador seteare esos mismos parámetros para que pueda comunicarse fácilmente con el microcontrolador, y todos los datos que el microcontrolador envía por serial al módulo serán recibidos mediante bluetooth en el terminal del celular, en mi caso utilizo android y he descargado Bluetooth Terminal el cual funciona muy bien.
El datasheet en pdf lo pueden descargar de Google, es el primero que aparece, podrían entrar a la pagina www.linvor.com que es la pagina del fabricante pero esta en chino y la verdad que se complica un poco, pero con este tutorial ya es posible configurarlo como empezar a usarlo.
Autor del Articulo: Caccavallo Sebastian L.
Sitio Web: http://electgpl.blogspot.com.ar/
Buenos días
Es mi primera experiencia con los dispositivos apenas conseguí un módulo hc-06 pero el vendedor no savia lo que tenía pero decidí arriesgarme buscando desde mi pc me sale q es el hc-06 lo que no conozco es si es esclavo o maestro
Y allá va la pregunta
- como hago para averiguarlo si es esclavo o maestro
-Si se puede configurar cuando yo quiera cono maestro o esclavo o requiero comprar uno exclusivo maestro y otro exclusivo esclavo
-que software recomiendas para mandar datos desde la pc a un pic q ya lo probé con puerto serial físico y mande desde proteus
Muchas gracias
Muy buen articulo, felicitaciones, quiero preguntarle que costo tiene, y si ha investigado su consumo, y el alcance en metros.además me gustaria saber con que versión de bluethooth trabaja.
Gracias