Saltar la navegación

Comunicaciones bluetooth

Módulo Bluetooth en Arduino

Como elemento esclavo vamos a utilizar una controladora Arduino Uno (la cual ya hemos usado con anterioridad). Para ello, vamos a conectarle un módulo HC-05 que ya -de fábrica- viene diseñado para poder ser usado automáticamente como master -maestro- o slave - esclavo-. Es un módulo muy sencillo de conectar, que funciona con un voltaje de 5 voltios y que nos permitirá comunicar fácilmente nuestro móvil con la placa de Arduino. En nuestro proyecto va a tener que recibir una serie de letras que luego harán funcionar condicionalmente todos los actuadores que vamos a conectar a la placa.

El montaje básico del módulo Bluetooth HC-05 es el que se ve en la siguiente imagen:

Conexión módulo bluetooth HC-05 a Arduino Uno
Antonio Muñoz Pancorbo. Conexión módulo bluetooth HC-05 a Arduino Uno (CC BY-SA)

Como podemos observar, el módulo bluetooth utiliza los pines RX y TX de Arduino y por lo tanto usa la conexión serie de la citada placa. Esto implica que en el momento de transmitir algún programa por USB a la placa, debemos desconectar esos pines para no incurrir en un error de descarga.

Montaje del sistema esclavo

Es el momento de empezar a montar nuestro sistema definitivo. Vamos a empezar con el sistema esclavo y para ello -atendiendo a todo lo ya trabajado- vamos a conectar 2 ledes y un módulo bluetooth a nuestra placa Arduino. Si has sido hábil, parte de esto lo tendrás ya montado.


ACTIVIDAD A REALIZAR: lleva a cabo el montaje necesario en el sistema esclavo. Realiza una fotografía del mismo y describe en tu página web cuáles son los componentes que lo forman y la utilidad de cada uno de ellos. Si quieres hacer un diseño previo, debes realizarlo usando el software "Fritzing"

Cliente Bluetooth en APPInventor

Una vez que ya hemos realizado la conexión del módulo Bluetooth con Arduino añadiéndoselo al sistema con 2 ledes creado anteriormente, vamos a ocuparnos ahora de la APP que necesitamos como elemento "maestro". Para estudiarlo, vamos a seguir el pensamiento lógico que vimos en la primera tarea el cual luego deberemos ampliar para controlar 2 ledes. Debemos seguir los 3 siguientes pasos:

Diseño de la aplicación

Paso 1 

Incorporación de los componentes que van a formar parte de la APP para darle una vista parecida a la que se muestra en esta imagen (las propiedades de cada componente pueden ser modificadas). Ojo: partimos de lo visto en tareas anteriores.

Además de las etiquetas y los botones ya vistos, incorporaremos un selector de lista (lo que parece un botón "Conectar" en la imagen y un ClienteBluetoth, ojo que este será un componente no visible en la APP.

Diseño básico para cliente Bluetooth en APPInventor
Antonio Muñoz Pancorbo. Diseño básico para cliente Bluetooth en APPInventor (CC BY-SA)

Componentes a incluir

Paso 2

Comprobación de la identificación de los componentes y de la estructura jerárquica de los mismos (ver imagen).

Componentes en la APP básica con cliente Bluetooth
Antonio Muñoz Pancorbo. Componentes en la APP básica con cliente Bluetooth (CC BY-SA)

Programa de prueba

Paso 3

Incorporación de la programación. Junto al/la profesor/a y tus compañeros/as, vas a analizar las distintas propiedades de los componentes "Selector de lista" y "ClienteBluetooth". Con el código que ves a continuación, lograrás que tu móvil busque el módulo HC-05 entre todos los dispositivos Bluetooth que estén disponibles y visibles en su rango de actuación.

Antonio Muñoz Pancorbo. Programa para conexión de Bluetooth en APPInventor (CC BY-SA)

APP Android con conexión Bluetooth

Vamos a realizar una prueba para ver si funciona el cliente bluetooth de nuestra APP. Debemos realizar todos los pasos descritos en la sección anterior y ejecutar la aplicación, al menos realizando una simulación de la misma. Debes conseguir que al activar el selector de lista aparezcan los dispositivos bluetooth disponibles en tu entorno. El proceso de lo que debes conseguir lo puedes ver en el siguiente vídeo:





ACTIVIDAD A REALIZAR: realiza las comprobaciones descritas de forma que consigas alcanzar el objetivo. No olvides ir documentando todos los progresos alcanzados e ir anotando las dificultades que van surgiendo.

Pruebas del sistema

Una vez tenemos montado el sistema esclavo con los dos diodos ledes y el módulo bluetooth y ya hemos hecho unas pruebas de funcionamiento del selector de lista y del cliente bluetooth en nuestro dispositivo maestro, es la hora de vincularlos y realizar las correspondientes pruebas. De momento vamos a comprobar que somos capaces de conectarnos al módulo HC-05 desde el móvil y que podemos conectar un LED desde uno de los botones diseñados.

Como vimos anteriormente, desde el botón1 de la APP, enviamos la letra "A", es por ello que ahora vamos a codificar de la siguiente manera la recepción de esa "A" para convertir a un LED en intermitente durante unos segundos atendiendo al siguiente código a implementar en la IDE de Arduino, que puedes ver en la siguiente imagen y en el que tienes reflejadas las claves del mismo:

Antonio Muñoz Pancorbo. Código ejemplo de recepción de señal Bluetooth en IDE Arduino (incluye bucle de tipo "for") (CC BY-SA)


OJO: cuidado con la sintaxis utilizada.


ACTIVIDAD A REALIZAR: realiza todas las pruebas pertinentes para conseguir que uno de los ledes se encienda intermitentemente durante 3 segundos cada vez que pulsemos el botón1 de la APP. No olvides documentarlo todo con imágenes y/o vídeos.

Depuración de los programas

Llegados a este punto, debemos coger todo lo trabajado hasta ahora para poder obtener nuestro producto tecnológico final de proyecto. Debes hacer una aplicación que permita encender y apagar 2 ledes de la forma diferenciada. Se permite hacer con 2 o con 4 botones tal y como lo habíamos planeado al principio. Recuerda utilizar los diagramas de flujo, el diseño y programación adecuados de la APP y el montaje esclavo llevado a cabo. Todo lo visto a lo largo de esta tarea habrá que adaptarlo para alcanzar nuestro objetivo final.


ACTIVIDAD A REALIZAR: archivo *.aia que permita probar la aplicación diseñada para cumplir lo soliciado y archivo *.apk que permita instalar la aplicación. Además  debes explicar todo el proceso llevado a cabo en tu página web (pantallazo del diseño, diagrama de flujo del programa, pantallazos de los bloques de programación y de las pruebas realizadas, vídeo muestra del funcionamiento, etc.).