INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN INTERFACES Y MICROCONTROLADORES “APP INVENTOR Y ARDUINO” Integrantes: Reyes Juarez Manuel GRUPO: 7AM3 INTRODUCCIÓN Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de una sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso. Para poder entender este concepto, primero vas a tener que entender los conceptos de hardware y el software libres. El hardware libre son los dispositivos cuyas especificaciones y diagramas son de acceso público, de manera que cualquiera puede replicarlos. Esto quiere decir que Arduino ofrece las bases para que cualquier otra persona o empresa pueda crear sus propias placas, pudiendo ser diferentes entre ellas, pero igualmente funcionales al partir de la misma base. El software libre son los programas informáticos cuyo código es accesible por cualquiera para que quien quiera pueda utilizarlo y modificarlo. Arduino ofrece la plataforma Arduino IDE (Entorno de Desarrollo Integrado), que es un entorno de programación con el que cualquiera puede crear aplicaciones para las placas Arduino, de manera que se les puede dar todo tipo de utilidades. APP INVENTOR App Inventor es un entorno de desarrollo de aplicaciones para dispositivos Android. Para desarrollar aplicaciones con App Inventor sólo necesitas un navegador web y un teléfono o Tablet Android (si no lo tienes podrás probar tus aplicaciones en un emulador). App Inventor se basa en un servicio web que te permitirá almacenar tu trabajo y te ayudará a realizar un seguimiento de sus proyectos. Se trata de una herramienta de desarrollo visual muy fácil de usar, con la que incluso los no programadores podrán desarrollar sus aplicaciones. Al construir las aplicaciones para Android trabajarás con dos herramientas: App Inventor Designer y App Inventor Blocks Editor. En Designer construirás el Interfaz de Usuario, eligiendo y situando los elementos con los que interactuará el usuario y los componentes que utilizará la aplicación. En el Blocks Editor definirás el comportamiento de los componentes de tu aplicación. App Inventor Cuando creamos un nuevo proyecto en App Inventor, nos saldrá el App Inventor Designer donde construiremos el diseño de nuestra app. En el centro tenemos la visualización de una pantalla de un dispositivo Android donde iremos poniendo todos los componentes que queramos. Estos componentes están en la parte izquierda y tenemos desde botones, etiquetas, sliders, etc… hasta el hardware del dispositivo Android como la cámara, GPS, acelerómetro, sonido, etc. Esto es muy útil ya que tenemos la posibilidad de usar los sensores de nuestro dispositivo Android junto a Arduino para nuestros proyectos. Para poner un componente a la pantalla de visualización, tenemos que arrastrarlo hasta esta. Por último, en la parte derecha de la pantalla tenemos un recuadro donde podremos cambiar las propiedades de los componentes que insertemos en la app tales como el color, nombre, valores… En esta app hemos puesto un botón que servirá para conectarse al Arduino a través de Bluetooth, unas etiquetas para el título (LED RGB) y el nombre de los colores (RED, GREEN, BLUE), y tres sliders para controlar los tres colores RGB. También pondremos un Cliente Bluetooth para establecer la comunicación Bluetooth. En las propiedades de los sliders, pondremos MinValue 0 y MaxValue 255. También hemos puesto una imagen de icono de la app subiendo una imagen en Media, y colocando el archivo en Icon de las propiedades de la pantalla (Screen). Las demás propiedades de los componentes sirven para cambiar al gusto de cualquiera los colores, medidas y nombres de estos. Uno vez terminado con el diseño de la app, clicamos en la el botón Blocks en la parte superior derecha de la pantalla para ir al App Inventor Blocks Editor. Aquí es donde programaremos la app en forma de bloques como si se tratase de un puzle. En Viewer tenemos una hoja en blanco donde pondremos los bloques. Estos bloques están en la parte izquierda en el apartado Blocks donde encontraremos los elementos y funciones más comunes en los lenguajes de programación tales como sentencias, funciones lógicas, funciones matemáticas, strings… También habrá los elementos y funciones específicos de los componentes que hemos insertado en la app, que en nuestro caso son Bluetooth, un botón y tres sliders. –Bluetooth: La comunicación Bluetooth depende del botón llamado CONECT que hemos puesto. Antes de pulsarlo, si el Bluetooth de nuestro dispositivo Android está listo, la app recogerá todas las conexiones Bluetooth listadas en este. Esto lo hará al principio de abrir la app. Una vez se pulse el botón CONECT nos saldrá este listado donde seleccionaremos el módulo Bluetooth conectado al Arduino. Cuando se conecte haremos que el texto del botón se ponga de color azul para saber que la comunicación Bluetooth está establecida. -Sliders: La parte de las tres sliders es la misma para cada uno. Consiste en que cuando haya un cambio de posición en uno de las sliders, primero se comprueba si la comunicación Bluetooth está establecida, y si es así, se envía el valor de la posición de los tres sliders siempre en este mismo orden: primero se envía el valor de Red seguido de una coma, después se envía el valor de Green seguido de otra coma y por último se envía el valor de Blue seguido de un carácter de nueva línea (“\n”). Por ejemplo: 125 “,” 98 “,” 216 “\n” Una vez finalizado con los bloques sólo queda poner a prueba nuestra app. Podemos hacerlo desde el emulador de App Inventor o instalando la app directamente en nuestro dispositivo Android. Para esto último tenemos que ir en el menú de la parte superior izquierda del App Inventor donde pone Build para obtener el archivo .apk de la app. Tendremos dos opciones: obtenerlo desde código QR que saldrá en el centro de la pantalla para enfocarlo directamente con la cámara de nuestro dispositivo Android para descargarlo e instalarlo directamente en este o descargar el archivo .apk en nuestro PC para copiarlo en la memoria del dispositivo Android. Sea cual sea la opción que escojamos, tendremos que poner en las opciones de nuestro dispositivo Android Permitir la instalación de aplicaciones de origen desconocido para poder instalar nuestra app. El aspecto de esta será este: EN EL ARDUINO En el Arduino habrá conectado un Led RGB y un módulo Bluetooth JY-MCU (tanto el HC-06 como el HC-05 son validos). Si queréis saber más sobre estos módulos Bluetooth conectados a Arduino visitad el tutorial que hicimos sobre este tema en el siguiente enlace (Arduino + Bluetooth). El diodo Led RGB tiene un cátodo y tres ánodos (uno para cada color). Los colores son controlados a través de PWM. En su datasheet comprobamos que los voltajes de cada color a una intensidad de 20mA son los siguientes: Red 2 V, Green 3,2 V y Blue 3,2V. Sabiendo esto juntamente con que el voltaje de salida máximo de los pins del Arduino es de 5V podemos calcular las resistencias de cada color aplicando la ley de Ohm. MONTAJE CODIGO EJEMPLO /* www.diymakers.es by A.García Crear App para Arduino con App Inventor Tutorial en: http://diymakers.es/crear-app-para-arduino-con-appinventor/ */ #include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins //Aquí conectamos los pins RXD,TDX del módulo Bluetooth. SoftwareSerial BT(10,11); //10 RX, 11 TX. int ledred=3; //Pin LED Red int ledgreen=5;//Pin LED Green int ledblue=6; //Pin LED Blue void setup() { BT.begin(9600); //Velocidad del puerto del módulo Bluetooth pinMode(ledred,OUTPUT); pinMode(ledgreen,OUTPUT); pinMode(ledblue,OUTPUT); } void loop() { //Cuando haya datos disponibles while (BT.available()>0) { int red = BT.parseInt(); //Leemos el primer valor entero (Red) y lo almacenamos en la variable int green = BT.parseInt(); //Leemos el segundo valor entero (Green) y lo almacenamos en la variable int blue = BT.parseInt(); //Leemos el último valor entero (Blue) y lo almacenamos en la variable //Cuando lea el carácter fin de línea ('\n') quiere decir que ha finalizado el envío de los tres valores if (BT.read() == '\n') { //Enviamos los valores de los tres colores al LED RGB através de PWM analogWrite(ledred,red); analogWrite(ledgreen,green); analogWrite(ledblue,blue); } } } CONCLUSIONES App inventor es un software que nos permite crear aplicaciones y establecer una comunicación ya sea bluetooth con un integrado del mismo y así poder controlar no solo un parpadeo en el led como se ve en el reporte, en mi caso, yo ya usé ese software en la vocacional para mi proyecto final y controlamos tanto motores como sensores para un vehículo. Es muy interesante como desde el teléfono podemos controlar cosas a distancia. REFERENCIAS: http://diymakers.es/crear-app-para-arduino-con-app-inventor/ https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-uno https://create.arduino.cc/projecthub/agriculturaelectronica/aplicaciones-moviles-app-inventorpara-arduino-627a79