tutorial 7: modulo bluetooth + android +...
TRANSCRIPT
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