Tutorial 7: Modulo Bluetooth + Android + Arduino

img_7627

Objetivo.

En esta práctica conoceremos el modulo bluetooth y sus muchísimas aplicaciones, en la práctica usaremos un Android y crearemos una aplicación Android, para poder controlar un led desde el móvil.

Materiales

1 Arduino uno

1 Cable AB

1 Breadboard

1 Modulo Bluetooth

1 LED RGB

1 Móvil Android (Teléfono o Tablet)

Circuito de la práctica.ciruito

En el siguiente circuito ya sabemos cómo conectar el RGB como en las prácticas anteriores, así que pasaremos a observar la conexión del módulo bluetooth, en pin Vcc lo conectaremos a la salida de voltaje 3.3v de Arduino, luego el pin GND al GND de Arduino, y por último el pin Rx del bluetooth tiene que ir conectado al Tx del Arduino y el Tx del bluetooth al Rx del Arduino. Y esto sería todo el circuito.

7-1

Aplicación Android.

Para crear la aplicación Android, usaremos una herramienta para crear apk de una manera sencilla y fácil de entender. Para esto nos dirigiremos al internet y buscaremos Appinventor.

7-2

Ingresamos donde dice App inventor 2 lo siguiente que nos pide es entrar a nuestra cuenta de Gmail, así que entraremos en ella, y lo siguiente que nos dira es para darle permiso de usar nuestra cuenta Gmail y le damos click en permitir.

7-3

Luego damos click en take survey later. Luego click en continuar.

7-4

Ahora podemos comenzar a crear nuestra aplicación, click en start new proyect.

7-5

Luego ponemos el nombre que tendrá la App

7-6

Ahora ya tenemos nuestra área de trabajo aquí pondremos los botones, servicios y cualquier otra cosa que queramos que este en nuestra App.

7-7

Agregamos un Label para poner un texto en la ap y lo arrastramos hacia el área de trabajo luego en las propiedades le cambiaremos el texto y le pondremos RED.

Cuando queramos agregar un elemento de la paleta de herramientas solo tenemos que arrastrar el objeto hacia la pantalla de la app y luego en propiedades modificamos cada uno de sus parámetros como el fondo el tipo de letra el tamaño el ancho etc, cada uno debe interactuar con el programa y hacer sus propios diseños, hoy nos enfocaremos en la funcionalidad de la app.

7-8

Lo siguiente que haremos será agregar un layout y arrastraremos un HorizontalArrangement en el screen, luego en sus propiedades modificaremos su Width y lo pondremos en fill parent, esto servirá para que el ancho de ese layout sea del 100%.7-9

Luego hacemos las siguientes modificaciones donde le diremos que su contenido lo centre horizontal y verticalmente y le pondremos un fondo de color rojo para indicar que es el Led Rojo.

7-10

Posteriormente agregaremos 2 botones dentro del layout que insertamos anteriormente y le modificaremos el texto del botón por ON OFF estos serán los botones de apagado y encendido del led rojo.

7-11

También modificaremos en la seccion de los componentes el nombre interno de los botones y les pondremos Red_on y Red_off separados por un guion bajo, esto es necesario y muy importante, también podemos modificar el alto del layout rojo dando click en horizontalarragament1 y cambiándole la propiedad Height seleccionando percent, y poniendo un 15 para que se vea más estético.

Repetiremos este mismo proceso para agregar los otros dos botones el Verde y el Azul y nos quedara de esta forma, es importante resaltar que cada botón debe llevar su respectivo nombre, para eso seleccionamos el botón y le damos click en rename.

7-12

Luego para ir terminando la interfaz nos faltan dos botones, Conectar y Desconectar, con estos dos botones nos conectaremos de la aplicación al Arduino por medio de bluetooth, y también nos podremos desconectar de él. Así que siguiendo los pasos anteriores agregaremos estos dos botones y modificaremos sus nombres en la tabla de componentes. Pero hay una excepción el botón Conectar lo cambiaremos por un Listpicker.

Además agregaremos el servicio de Bluetooth este es un elemento no visible así que solo lo arrastramos a la hoja y no hay que modificar nada.

Nos fijamos que todo este tal y como se indica.

7-13

El siguiente paso es realizar la programación de la aplicación, esta herramienta App inventor tiene una programación en bloques lo que convierte la programación en algo sencillo y divertido. Así que daremos click en la parte superior derecha al botón Blocks

7-14

Esta es nuestra área de trabajo donde encontraremos cada herramienta adecuada y crearemos el código necesario para esta práctica.

7-15

Lo primero que tenemos que hacer es seleccionar el botón Conectar y luego seleccionar la opción When Conectar.BeforePicking y la arrastramos al área en blanco. Esto nos servirá para abrir una lista de dispositivos bluetooth conectados al móvil  y par luego seleccionar el modulo que estamos usando y conectar el Android al Arduino.

7-16

Luego nos vamos  en los primeros bloques y seleccionamos Control y arrastramos el bloque que dice If Then y lo ponemos dentro del bloque anterior, seguidamente  seleccionamos BluetoothClient1 y dentro damos click al bloque bluetoothclient aviable de color verde. Posteriormente seleccionamos el botón conectar nuevamente y buscamos el bloque verde llamado set conectar element, y por ultimo seleccionamos el bluetoothclient1 y arrastramos el bloque bluetoothclien1 adres And names Nos quedaría de la siguiente forma.

7-17

Lo siguiente es modificar el Afterpicking donde pondremos lo que pasara después de darle click al botón. En este usaremos un nuevo bloque de control llamado evaluate but ignore result luego nos vamos a bluetoothclient1 y seleccionamos el bloque call bluetooth.conect adress y le agregamos el último bloque de Conectar llamado off selection con este podremos terminar de emparejar el móvil con el Arduino. Nos quedara de la siguiente manera.

7-18

Continuamos con el botón Desconectar este es más sencillo solo tenemos que dar click el botón y usar el bloque When desconectar.click y arrastramos el bloque al área de trabajo, y vamos una vez más a bluetoothclient1 seleccionamos el bloque call bluetoothclient1. Disconnect con esto hemos terminado la parte del bluetooth en nuestra aplicación solo resta programar los botones de los leds.

7-19

Lo que sigue es programar los botones ON/OFF de cada led, para esto lo que haremos será que cuando presiones un botón este envié un texto a través del bluetooth al Arduino, y este reconozca ese texto y pueda ejecutar una función ligada a ese dato. Enviaremos texto sencillo una letra o un número en este caso para encender el led rojo enviaremos R y para apagarlo usaremos un número por ejemplo 2, para esto usaremos el bloque enviar texto del bluetooth call bluetoothclient1.Sendtext y le añadimos un texto de la paleta de herramientas text seleccionamos el primero que esta vacío y dentro escribimos el texto que enviara el bluetooth cuando presionen cada botón. Esto ira dentro de un When R_on.click y asi sucesivamente.

Led Red On=”R” Off=”2”

Led Green On=”G” off=”3”

Led Blue On=”B” off =”4”

7-20

Con esto hemos terminado la aplicación y podemos compilarla y pasarla al teléfono, hay varios métodos para probarla, mediante USB conectando el móvil a la pc y corriendo la aplicación o por el emulador, pero nosotros haremos la aplicación instalable nos vamos arriba y  seleccionamos el menú build, y elegimos App(sabe .apk to my computer) y la aplicación se descarga, la copiamos y la pasamos al móvil, es importante decir que en nuestro móvil debe estar marcada la opción orígenes desconocidos para la aplicación que se pueda instalar sin problemas.

7-21             7-22

Cuando este instalada corremos la aplicación en el movil

7-23

Ya todo está listo para crear el código en Arduino y hacer funcionar nuestro proyecto.

Código

En este código implementaremos dos prácticas, la del RGB y la de las funciones, lo que tenemos que lograr es que cuando la aplicacion nos envié un mensaje a través de bluetooth Arduino pueda recibirlo e interpretarlo ejecutando una función, entonces procedemos primero a declarar lo que usaremos.

7-24

Agregamos los 3 leds del RGB por separado y le ponemos el pin donde estará conectado, añadiremos una variable de tipo char que nos permite almacenar un numero o una letra,  esta variable será la que usaremos para interpretar el mensaje de la App.

Luego vamos a configurar los pines como salida, y para el bluetooth usaremos la comunicación serial y así puedan entrar los datos al Arduino.

7-25

Luego como aprendimos anteriormente vamos a crear funciones de tipo void para cada acción, necesitamos encender y apagar cada uno de los leds, por lo que haremos 2 funciones por led, 1 donde encienda y otra donde se apague.

7-26

Ahora haremos la función principal, esta es la que nos interpretara los mensajes enviados por la aplicación y los convertirá en órdenes, para ejecutar las funciones. Le decimos que si la comunicación serial esta disponible entonces nuestra variable tipo char llamada Val leerá los datos y lo almacenara. Luego else if más si Val es igual a R entonces ejecuta la función Red_on(), más si Val es igual a 2 entonces ejecuta la funcionRed_off() y así sucesivamente vamos agregando cada uno de los casos, cuando reciba la G, 3, B,4. Recordemos que estos datos son los que pusimos en la App.

7-27

Lo último del código, es poner la función Loop que es la que ejecutara Arduino, para llamar la función principal es simplemente una línea. Ahora cargamos el programa a arduino

7-28

Preparar el móvil

Ahora solo resta configurar el móvil, ya activamos la opción orígenes desconocidos, con Arduino conectado a la computadora ahora vamos a vincular el modulo bluetooth con el móvil. En mi caso el modulo se llama HC-05

7-29           7-30

Luego al vincularlo nos pide un pin por lo general suele ser 0000 o 1234 debemos probar cual nos funciona. Cuando ya vinculamos nuestro dispositivo podemos abrir la aplicación, y luego darle click en conectar, donde seleccionaremos el dispositivo en mi caso HC-05.

7-31         7-32

Y listo ya nuestro proyecto esta funcionando como lo necesitábamos.

Descarga la version en pdf: tutorial-7-bluetooth-rgb-android

Descarga el código de arduino: tutorial-7

 

 

Deja un comentario