Tutorial 7: Modulo Bluetooth + Android +...

19

Transcript of Tutorial 7: Modulo Bluetooth + Android +...

Tutorial 7: Modulo Bluetooth + Android + Arduino

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)

AR

7 T

Circuito de la práctica.

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.

AR

7.1 T

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.

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.

AR

7.2 T

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

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

proyect.

Luego ponemos el nombre que tendrá la App

AR

7.2 T

Ahora ya tenemos nuestra área de trabajo aquí pondremos los botones,

servicios y cualquier otra cosa que queramos que este en nuestra App.

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.

AR

7 T

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%.

AR

7.2 T

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.

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.

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.

AR

7.2 T

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.

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

AR

7.2 T

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.

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

AR

7.2 T

Esta es nuestra área de trabajo donde encontraremos cada herramienta

adecuada y crearemos el código necesario para esta práctica.

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.

AR

7.2 T

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.

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.

AR

7.2 T

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.

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”

AR

7.2 T

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.

AR

7.2 T

Cuando este instalada corremos la aplicación en el movil

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.

AR

7.2 T

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.

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.

AR

7.3 T

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.

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

AR

7.3 T

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

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

AR

7.4 T

Y listo ya nuestro proyecto esta funcionando como lo necesitabamos

Seccion de preguntas

1 ¿Cuál es el bloque en app inventor para dar click un boton?

2 ¿Qué es lo que hace la aplicación para que arduino pueda recibir

ordenes?

3 ¿Cuál es la velocidad con la que trabaja un bluetooth?

1 when boton.click

2 La aplicación envia un texto, ya sea un numero o una letra y arduino se

encarga de interpretar cada mensaje y convertirlo en una orden para

ejecutar otras funciones.

3 la velocidad es 9600 baudios.

AR

7.5 T