Menu
in

Módulo Bluetooth HC-06 (Android)

El futuro es inalámbrico y la tecnología Bluetooth es una de las favoritas en el mundo de los aficionados a la electrónica, donde el enlace de datos “sin vínculo físico” debe ser robusto, confiable y seguro. Luego de haber ensayado el módulo Bluetooth RN41, ahora le llega el turno a uno de los modelos más económicos del mercado. Distribuido en todo el mundo por Wavesen, el módulo Bluetooth HC-06 es un dispositivo muy fácil de obtener, económico y sencillo de utilizar. En este artículo veremos su implementación y uso dentro de una sencilla aplicación para Android. En esta primera entrega aprenderemos a conectar y poner en funcionamiento este popular y eficaz módulo Bluetooth HC-06. ¿Tienes uno y no lo has hecho funcionar aún? Este artículo es para ti.

Con dimensiones tan pequeñas como un conector USB, el módulo Bluetooth HC-06 es una de las piezas de mercado más económicas que puedas encontrar dedicadas a este tipo de conectividad. La mayoría de los aficionados a los enlaces inalámbricos de datos, encuentran en este pequeño dispositivo todo lo necesario para resolver sus conexiones “wireless” y a un costo que no alcanza a la quinta parte de lo que hay que pagar por otros dispositivos de las mismas características (menos de 6 Euros en DealExtreme). Durante los ensayos realizados, el módulo ha demostrado tener un solo punto débil: la escasa (y confusa) información que existe sobre él en la web. Su parecido (podríamos decir su igualdad) en el aspecto físico con los módulos HC-03/04/05 hacen que muchos usuarios terminen frustrados por no poder utilizar el HC-06 ya que las conexiones cambian de un modelo a otro y el usuario termina, muchas veces, teniendo experiencias de fracaso y la sensación de haber gastado dinero inútilmente. Sin embargo, al final de este artículo, podrás lograr hacer las primeras experiencias con el módulo HC-06. Observa:

Una de las ventajas principales ventajas del módulo HC-06, además de su pequeño tamaño y sus buenas características de transmisión y recepción que le brindan un alcance muy amplio (por tratarse de un sistema local Bluetooth), es el bajo consumo de corriente que posee tanto en funcionamiento, como en modo de espera, es decir, alimentado con energía, pero sin conexión o enlace a otro dispositivo, por ejemplo, un móvil con SO Android. Otra característica interesante de este módulo es que una vez que ha realizado un enlace con otro dispositivo es capaz de recordarlo en su memoria y no solicita validación alguna (“1234” por defecto), pero si se activa el pin 26 (KEY) hacia la tensión de alimentación, esta información se elimina y el módulo HC-06 solicitará nuevamente la validación del enlace. Otro detalle particular es que su tensión de alimentación de 3,3Volts y su bajo consumo (8mA en transmisión/recepción activa) lo transforman en un dispositivo ideal para trabajar con microcontroladores de la misma tensión de alimentación, logrando de este modo equipos portátiles que pueden ser alimentados durante muchas horas por baterías recargables o alcalinas AA, demostrando características excepcionales en aplicaciones médicas, o para actividades recreativas donde la fuente energética debe ser liviana y portátil.

Lo que hoy te acercamos, es la clásica aplicación inicial que te permitirá comenzar a trabajar en pocos minutos con este módulo Bluetooth HC-06. Una aplicación para Android, un microcontrolador PIC 18F25K20, un LED, un par de pulsadores y muchos misterios develados sobre este módulo para que disfrutes de una alternativa económica y eficaz dentro de las comunicaciones Bluetooth. El circuito utilizado es un clásico para muchos de ustedes y llevará unos pocos minutos de armado sobre un protoboard con el objeto de realizar este primer ensayo de uso. Lo primero que haremos es soldarle al módulo HC-06 algunos terminales finos en las conexiones de alimentación, de entrada y salida de datos, y si lo deseamos, en el terminal de RESET y de salida del LED indicador de estado. Este LED, sin dudas será muy útil en los primeros ensayos para demostrar el momento efectivo del enlace con cualquier dispositivo móvil. Es decir, para observar las primeras “señales de vida” del HC-06.

El diodo LED indicador de estado posee una característica particular respecto a otros módulos Bluetooth. Durante los momentos en que está energizado y no está conectado a otro dispositivo, el LED enciende en forma intermitente hasta que, al conectar y establecer vínculo con otro dispositivo, el LED pasa a estar encendido en forma continua. Es decir, el LED no se apaga en ninguna instancia del funcionamiento del HC-06. Otro dato importante y digno de destacar de este pequeño “gigante” es la posibilidad de seleccionar la velocidad de transmisión de datos entre 1200BPS y 1,3MBPS (si es que tu ordenador o microcontrolador alcanzan semejante velocidad de datos). Por último, vale aclarar que el acceso a los ajustes mediante los comandos AT, no pueden realizarse con el dispositivo vinculado a ningún equipo y a esta técnica la veremos en la próxima entrega. ¿Cómo es eso de que no debe estar vinculado a ningún equipo? ¿Cómo se realiza el intercambio de datos y el ajuste del módulo si no es mediante el vínculo? En la próxima entrega veremos el modo de realizarlo. Hoy haremos funcionar el HC-06 a 9600, 8, N, 1,  realizaremos algunos movimientos en App Inventor para Android y alimentaremos todo el sistema con dos baterías alcalinas AA. Comencemos.

Una vez soldados “con cuidado” los pines a la placa del módulo, insertamos éste en un protoboard con el clásico capacitor de 100nF, tan cercano al dispositivo como sea posible, y procedemos a alimentarlo con 3,3Volts (3 a 4,2Volts). En nuestra experiencia lo hicimos, como te mencionamos antes, con dos baterías alcalinas AA (apenas por encima de los 3Volts) y el LED indicador de estado comenzó a parpadear anunciando estar listo y a la espera de vincularse a algún equipo cercano. En esta situación, el módulo HC-06 posee su más alto consumo energético y se establece entre 30 y 40mA. Luego, al vincularse a cualquier dispositivo, la corriente de funcionamiento desciende a alrededor de los 8mA. Por lo general, al momento de establecer un enlace por primera vez, con un ordenador o con un dispositivo móvil (teléfono, tableta), tenemos la posibilidad de observar y anotar la dirección MAC del módulo. Nuestro módulo indicó la dirección 00:11:10:20:02:06 para luego pasar a “auto-nombrarse” linvor. Este es el momento indicado para saber con qué módulo estamos trabajando. Como mencionamos al principio, el HC-05 y el HC-06 son iguales en su aspecto, pero al enlazarse con otro dispositivo, el HC-05 dirá ese mismo nombre (“HC-05”) mientras que el HC-06 dirá “linvor” como nos ocurrió a nosotros. Por lo tanto, en el inicio, no hagas otra cosa que alimentarlo y observar que nombre te indica. En función de ello, sabrás que dispositivo tienes en tus manos y como seguirá tu trabajo. ¿No sabías como identificarlo? NeoTeo te ayudó a hacerlo.

Obtener la dirección MAC es importante para abreviar trabajo a la hora de preparar la aplicación en App Inventor. Eso es algo que ya hemos visto al momento de trabajar con el módulo RN-41. Luego de conectar a 3Volts (recuerda que nosotros estamos trabajando con dos batería AA) los pines 12 y 13 del módulo y de vincularlo a cualquier dispositivo cercano, procederemos a realizar las conexiones de Tx (1) y Rx (2) del módulo. Aquí es donde viene una de las enormes confusiones que el fabricante no especifica con claridad y donde los intentos de muchos se ven frustrados. Lo que para el fabricante es Tx, para nosotros es la salida de datos  recibidos por parte del módulo, es decir, lo que el módulo recibe, lo que otro dispositivo le transmite. En consecuencia, el pin Rx es la salida de datos que transmitiremos y que el otro dispositivo recibirá. Esto es lo más importante a tener en cuenta. ¡No te equivoques aquí!

El pin indicado como Tx, por el fabricante del módulo, se conecta al pin Rx de tu microcontrolador y el pin señalado como Rx deberás conectarlo a Tx. Como dato anecdótico, puedo decirte que me llevó un buen rato y muchos ensayos darme cuenta de este “detalle” que quizás hace abandonar a mucha gente en el uso de estos módulos. Cuando ya has revisado todo, una y mil veces, desistes creyendo que algo se ha dañado o que la alineación planetaria conspira en tu contra, mientras que el error está en la misma hoja de datos del fabricante. El pin Tx, en el módulo Bluetooth, debiera ser por donde los datos se transmiten. Eso diría cualquier lógica, sin embargo, aquí es al revés. Luego de superado este escollo, ¡la comunicación es nuestra! El circuito entonces, quedaría armado de la siguiente manera:

El pin Tx, en el módulo Bluetooth, debiera ser por donde los datos se transmiten. Eso diría cualquier lógica, sin embargo, aquí es al revés.

Vale aclarar que las posibilidades de alimentación del circuito serán variables de acuerdo a la aplicación específica que tengas en mente. Por ejemplo, se podría utilizar una celda de iones de litio, o una fuente de 3,3Volts con un AZ1117. Tres baterías recargables de 1,2Volts de Ni-Mh y un diodo en serie para disminuir la tensión. Es decir, la alimentación estará regida por la necesidad del desarrollo que emprendas. En nuestro caso (como verás en futuras entregas) la alimentación debe ser con baterías y el abanico de posibilidades es muy amplio. A medida que el desarrollo avance, sabremos decidir por lo más efectivo y con un costo optimizado. Luego de conectar nuestro módulo, pasamos al programa del PIC, que es muy sencillo, realizado en AMICUS (software gratuito) y que es una repetición de otros ejemplos anteriores con las modificaciones pertinentes para esta aplicación de ensayo del módulo Bluetooth HC-06, tanto en transmisión como en recepción.

La aplicación en App Inventor se realiza como en otras ocasiones, acoplando los bloques y armando la estructura según las operaciones necesarias para cada acción. Como siempre te dejamos el código fuente para el PIC, para que puedas reformarlo o cargar el HEX tal como te lo entregamos, al igual que el software listo para cargar en App Inventor donde al desplegar el editor de bloques, podrás observar y ver como aplicamos lo que hemos visto en los artículos anteriores, en los que comenzamos a utilizar App Inventor para Android. Como siempre también, te invitamos a participar del Foro de Electrónica de NeoTeo para compartir experiencias o consultar dudas e inquietudes. Los módulos Bluetooth HC-05 y HC-06 (también conocidos con otros nombres) ya no serán una pesadilla y pasarán a formar parte de tus aplicaciones inalámbricas.

Lo último de este artículo es una de las cosas que (quizás) deseabas saber. En un Motorola Defy, con la pantalla activada para que no se apague en ningún momento y partiendo de una carga completa de la batería, la duración del ensayo (jugando con el LED y pulsando, de a ratos, los botones) superó las cuatro horas cuando la batería del teléfono móvil había descendido hasta un 30%. Por su parte, las baterías AA (nuevas) comenzaron el experimento con una tensión total de 3,12Volts y al final no habían descendido de los 3,04Volts. Sin dudas, un experimento exitoso que nos impulsa a utilizar 3 baterías recargables de Ni-Mh como una buena alternativa gracias a su relación costo/beneficio para una aplicación móvil como la que estamos preparando.  Ahora conocemos un poquito más al módulo Bluetooth HC-06; y tú,  ¿ya has pensado en qué lo utilizarás?

Escrito por Mario

Leave a Reply