Objetivos
Material requerido.
Arduino MEGA |
|
Un LED | |
Bluetooh | Hc-05 |
Los módulos Bluetooth HC-06 y HC-05
En la última sesión vimos cómo programar las características de nuestro modulo HC-05 y HC-06 para conectarnos con Mblock y vamos en esta sesión a probar y asegurarnos de que la comunicación es fluida.
Es buen momento para decir que, aunque los módulos Bluetooth no tienen ningún secreto, su capacidad para marear es desesperante y por eso, conviene ir paso a paso, asegurando el avance antes de entrar en mayores complejidades. Por ello, vamos a dedicar esta sesión a comprobar la comunicación con un ejemplo sencillo en el que usemos un terminal bluetooth que nos permita conectarnos al modulo primero y comprobar que recibimos los comandos debidamente.
Para esto, vamos a instalar un programa Androidd llamado “Arduino Bluetooth RC Car” y un sencillo diodo LED con nuestro Mega para comprobar que podemos encender y apagar ese diodo mediante comandos de texto y una vez logrado, ya podremos hablar de gobernar nuestro Robot Rover de modo remoto.
Pues, nada, vamos al lío.
Comprobando la conexión con Arduino
Vamos a conectar un diodo LED a nuestro Arduino sin complicarnos la vida, o incluso podríamos no conectarlo y usar el LED incluido en los Arduino UNO y Mega, pero para ver el resultado es más cómodo usar un LED externo por el tamaño y porque si hay que hacer alguna foto es más fácil de ver. Para ello basta con conectar el LED sin resistencia, entre los pines 13 y GND de tu placa.
Toca ahora instalar la aplicación “Arduino Bluetooth RC Car” en tu móvil Android. SI vas a Google Play y buscas ese nombre te saldrá algo así:Hay muchas disponibles para intercambiar textos entre el móvil y nuestro Arduino, pero “Arduino Bluetooth RC Car” tiene algunas ventajas (Y llevamos usándola mucho tiempo, así que es la que vamos a usar como ejemplo)
Para conectar al módulo Bluetooth basta con que le pidas a tu móvil que encienda el Bluetooth y luego que busques el nombre que hayas programado al módulo. En mi caso se llama SET1 y pídele que se conecte. Te pedirá un PIN para conectar que normalmente será 1234 si no lo has cambiado y listo. (No te preocupes si de momento no deja de parpadear el led del módulo)
Ahora abre la aplicación de control que acabamos de instalar arriba y verás:
El círculo rojo en la esquina superior izquierda, te indica que aun no estas vinculado al modulo BT del Arduino. Para conectar haz clic en el botón que indica la flecha roja:
Te aparecerán varias opciones. La que nos interesa ahora es la de conectar al coche. Elije “Connect to car”, y te saldrán los objetos bluetooth disponibles. Elije el que corresponda a tu HC-06. En mi caso mi modulo se llama SET1:
Tu móvil conectará con el módulo BT y probablemente te pida un PIN, (1234 o 000 normalmente si no has cambiado) y listo. Ahora ya veras que la luz del módulo se ha quedado fija y la aplicación cambiará el estado a conectado poniendo en verde el círculo superior izquierdo
Ya estamos listos para poner en marcha el programa de conexión con Mblock
Conectando al Bluetooh desde Mblock
Asegúrate de que has seleccionado la placa que corresponde con tu Arduino Mega 2560 y que conectas al puerto serie adecuado. Si has instalado el bloque que corresponde al Motor Shield V1 tendrás disponibles unas instrucciones como estas:
Las dos ultimas te permite ver si hay algo disponible en el BT y eventualmente leerlo. Es n momento bueno para decirte que, si te fijas a la derecha en el código Arduino, ha programado la velocidad del puerto Serial1 a 9600 baudios, así que más vale que sea la velocidad que has programado tu a tu modulo HC-06 o HC-06,
Vamos a escribir un programa que encienda el diodo LED cuando enviemos la letra “F” y la apague al recibir la letra “B”. ¿Por qué estas letras? Bueno, porque son las letras que va a enviar el “Arduino Bluetooth RC Car” cuando pulse la flecha adelante (Forward) y atrás (Backward) y ya de paso aprovechamos.
Podemos empezar el programa con un por siempre y comprobando si hay algo disponible. Esta variable nos devuelve 0 en caso de que no haya nada y 1 en caso afirmativo, lo que nos permite hacer la consulta condicional así:
Si tenemos algo esperando, tenemos que leerlo a una variable para después comparar el valor con los comandos encender y apagar. Vamos a cread una variable llamada D en mi caso y la asignamos lo que lea del BT:
Fijamos D a lo que leemos y luego opcionalmente, podemos enviar a la consola Mblock el valor de D convertido a texto para que sea comprensible, pero esta última línea es totalmente opcional.
Esto nos va a permitir compara el dato leído en la variable D, con nuestros códigos de operación como F y B, pero Mblock nos obliga pasar las letras con las que comparamos entre comillas simples. Ojo esto es importante: ‘F’ funciona, pero ‘”F” no funciona en absoluto. Es la comilla simple que está en el teclado encima del símbolo de cierre de interrogación:
Pues una vez listos los módulos podemos montar ya el programa completo: Mblock con Mega y LED
Si subes el programa a tu Arduino veras que cuando pulsas la flecha hacia adelante con el programa EC Car se enciende el dado LED y que se apague al darle hacia Atrás. Aquí tenéis un minivideo con el resultado