Creando una aplicación con App Inventor _ Proyectos Arduino

23
23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 1/23 Creando una aplicación con App Inventor Posted on 2 julio, 2012 App Inventor es una aplicación web que permite a los usuarios crear aplicaciones para Android de forma muy simple y rápida, utilizando por un lado un editor gráfico para colocar botones, dibujos, textos, deslizadores, etc y por otro lado un sistema de diagrama de bloques donde uno va conectando bloques entre si para generar la aplicación. Realmente excelente.Hoy voy a mostrarles como desarrollar una aplicación para manejar tres leds a través de un teléfono con Android haciendo uso del Bluetooth. Para esto necesitaremos: Un teléfono con Android. Una placa Arduino, cualquiera. Un adaptador bluetooth para Arduino.

Transcript of Creando una aplicación con App Inventor _ Proyectos Arduino

Page 1: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 1/23

Creando una aplicación con App Inventor

Posted on 2 julio, 2012

App Inventor es una aplicación web que permite a los usuarios crear aplicaciones para Android de forma muy simple y rápida,

utilizando por un lado un editor gráfico para colocar botones, dibujos, textos, deslizadores, etc y por otro lado un sistema de

diagrama de bloques donde uno va conectando bloques entre si para generar la aplicación. Realmente excelente.Hoy voy a

mostrarles como desarrollar una aplicación para manejar tres leds a través de un teléfono con Android haciendo uso del

Bluetooth. Para esto necesitaremos:

Un teléfono con Android.

Una placa Arduino, cualquiera.

Un adaptador bluetooth para Arduino.

Page 2: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 2/23

Algunos leds.

Fernet (Branca).

Primero vamos a programar nuestro Arduino. En este caso, voy a querer encender y apagar tres leds a través de mi teléfono,

enviando datos a través de ondas de radio (Bluetooth), tal como vimos en este post anterior.

Mi idea entonces, es programar el Arduino para que establezca una conexión serie de 9600bps y desde alli reciba comandos,

luego estos comandos serán interpretados para encender o apagar las salidas digitales, este es mi código:

String readString;

void setup() {

Serial.begin(9600);

//Salidas digitales

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

}

void loop() {

while (Serial.available()) {

delay(10);

if (Serial.available() >0) {

char c = Serial.read();

readString += c;

}

}

if (readString.length() >0) {

if(readString == "2on") {

Serial.print("Encender pin 2");

digitalWrite(2, HIGH);

}

if(readString == "2off") {

Page 3: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 3/23

Serial.print("Apagar pin 2");

digitalWrite(2, LOW);

}

if(readString == "3on") {

Serial.print("Encender pin 3");

digitalWrite(3, HIGH);

}

if(readString == "3off") {

Serial.print("Apagar pin 3");

digitalWrite(3, LOW);

}

if(readString == "4on") {

Serial.print("Encender pin 4");

digitalWrite(4, HIGH);

}

if(readString == "4off") {

Serial.print("Apagar pin 4");

digitalWrite(4, LOW);

}

readString="";

}

}

Como pueden ver el código es bien sencillo, recibiendo los comandos que estan en cada if, realiza el encendido o apagado

correspondiente siguiendo la siguiente información:

2on: enciende el led colocado en la salida digital número 2.

2off: apaga el led colocado en la salida digital número 2.

3on: enciende el led colocado en la salida digital número 3.

3off: apaga el led colocado en la salida digital número 3.

4on: enciende el led colocado en la salida digital número 4.

4off: apaga el led colocado en la salida digital número 4.

Page 4: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 4/23

Este código lo quemamos al microcontrolador y procedemos a crear nuestra aplicación en App Inventor.

Primero ingresamos a http://www.appinventor.mit.edu/ y damos click en Invent para crear una nueva aplicación.

Page 5: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 5/23

Primero coloqué un Cliente Bluetooth, luego los botones primarios para conectarse al adaptador bluetooth y para salir, y luego

Page 6: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 6/23

dos botones para cada salida, así encendemos y apagamos cada una.

Luego de hacer esto, clickeamos en Open the Blocks Editor, nos descargará un archivo jnlp que debemos abrir con Java Web

Start. Luego de unos segundos nos cargará una ide de desarrollo, donde colocaremos cada bloque para formar nuestra

aplicación, en mi caso queda así:

Page 7: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 7/23

Page 8: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 8/23

Lo primero que hice fue declarar una constante con la Mac Address de mi dispositivo (el adaptador bluetooth para Arduino),

luego cree las instancias Click para cada boton.

Una vez creados los bloques, podemos probar el funcionamiento utilizando la herramienta de emulación, con el smartphone

conectado, lo seleccionamos de la lista y appinventor cargará nuestra aplicación en ese instante para poder probarla. Si nos

gustó, podemos cerrar el editor de bloques y descargarnos nuestro apk desde la aplicación web.

Page 9: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 9/23

Por último les dejo un video de la aplicación controlando el Arduino Nano v3.0

Page 10: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 10/23

43 PENSAMIENTOS EN “CREANDO UNA APLICACIÓN CON APP INVENTOR”

Para los vagos: Acá tienen el apk compilado y el código para quemar al Arduino: homeAutomation

Esta entrada fue publicada en Android, App Inventor, Arduino Nano, Arduino UNO, Bluetooth y etiquetada Android, App

Inventor, arduino bluetooth, Arduino Nano, arduino uno, Bluetooth, Conexion inalambrica, Domotica por nico.

Guarda enlace permanente [http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/] .

alfonso

Page 11: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 11/23

en 20 noviembre, 2012 en 3:12 dijo:

Disculpa por que en el boton de conectar tienes al final que le envie como texto “0AB”

nico

en 20 noviembre, 2012 en 12:26 dijo:

Hola,

Se necesita si o si enviar una pequeña cadena de datos, como yo envié 0AB, se puede enviar otra cosa sin

problemas

roger

en 8 junio, 2013 en 19:59 dijo:

hola buenas tardes, estoi aciendo tu programa y me aparece un error en la soncronizacion, me dice k

hay un error de BLUETOOTH_ADMIN me podria ayudar a solucionarlo

Oscar Garay

en 22 septiembre, 2013 en 15:52 dijo:

Tengo el mismo problema! Necesito solucionarlo, cómo hago que me funcione???

Solaun

en 2 enero, 2013 en 15:39 dijo:

Page 12: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 12/23

Hola;

Muy buen aporte. Mi idea es hacer algo parecido pero con la tarjeta Ethernet de arduino, para poder controlarlo desde

3g.

No sé como hacer que me los datos que envíe desde mi telefono mediante una apk propia, me los interprete la tarjeta

de ethernet de arduino.

Se podría hacer?

Gracias y saludos

Jorge

en 8 marzo, 2013 en 2:38 dijo:

Hola amigo me podrias dar bien el serial de tu arduino

con serial o nomeclantura o clave te lo agradeceria

crixus

en 14 abril, 2013 en 13:20 dijo:

oye y respecto al baudaje del celular en donde se configura o ya es por defult de 9600

nico

en 14 abril, 2013 en 21:55 dijo:

Por default es 9600.

Page 13: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 13/23

Alberto

en 4 mayo, 2013 en 14:32 dijo:

Hola, amigo ya pase el programa al arduino1 y me instale la aplicacion apk en un movil android, pero al intentar correr

la aplicacion me sale un error.

Me podrias indicar que podria estar mal???

Antonio Moreno

en 5 mayo, 2013 en 1:35 dijo:

Hola que tal, muy interesante tu tutorial, eh checado tus otros tutoriales y me surgio una duda relacionada con este

tuto, crees que sea posible o has tratado leer un mensaje del arduino en android, por ejemplo mandar el mensaje de

“Led prendido” desde el arduino y poder visualizarlo en android???? espero tu respuesta, gracias

nico

en 6 mayo, 2013 en 22:06 dijo:

Si, no sería un problema!

david

en 22 octubre, 2013 en 10:43 dijo:

yo traté de hacerlo pero no pude, solo me llegan desde el arduino al celular signos de interrogación

dentro de un rombo. sabes porque me puede pasar eso??

Page 14: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 14/23

marandd

en 29 octubre, 2013 en 21:07 dijo:

Amigo sera que me podrias apoyar en este mismo tema, es qeu tengo el interes de poder recibir en

Android alguna cadena de Arduino, Saludos desde Mexico

Víctor

en 13 mayo, 2013 en 19:54 dijo:

Hola, muy bueno el tutorial lo quiero realizar… pero como saber cual es la mac del dispositivo (el adaptador bluetooth

para Arduino) ya que afuera no sale. gracias

Max

en 16 mayo, 2013 en 9:56 dijo:

el numero mac te figura en el modulo, dice MAC NO xx-xx-xx-xx-xx-xx

Pablo

en 15 mayo, 2013 en 16:00 dijo:

Page 15: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 15/23

Muy Buenas y saludos.

Ante todo felicitarte por el pedazo post!!.He realizado paso por paso y solo puedo decir que funciona perfectamente.

Acaban de incorporar una herramienta nueva en appinventor. El slider.

Seria muy interesante integrarla en el post ya que de este modo, no solo podrás encender y apagar leds, si no

también poder usar la función “PWM” de modo que se pueda subir y bajar la intensidad de los leds.

Alberto Frías

en 24 noviembre, 2013 en 19:16 dijo:

Yo tambien quisiera saber como hacerle con lo del slider, tengo un proyecto que es exactamente eso que

mencionas, ayuda plz

roger

en 8 junio, 2013 en 19:59 dijo:

hola buenas tardes, estoi aciendo tu programa y me aparece un error en la soncronizacion, me dice k hay un error de

BLUETOOTH_ADMIN me podria ayudar a solucionarlo

Rafa

en 23 junio, 2013 en 13:40 dijo:

Intento importar el archivo .apk desde el app inventor pero me sale el error donde dice que no es un archivo .zip. Lo he

descomprimido y que quitado el archivo del programa del arduino y he creado otro comprimido del tipo .zip con el .apk

solo pero, me sigue dando el mismo error. ¿que puedo hacer?.

Page 16: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 16/23

Muchas gracias.

nico

en 23 junio, 2013 en 14:48 dijo:

Hola, el APK es para meter en el teléfono, no para el AppInventor

luis p

en 23 junio, 2013 en 15:06 dijo:

Hola me gustó mucho tu post pero me gustaría saber como tendría que hacer para encender y apagar un lesd con un

mismo botón en app inventor

PicTrance

en 23 junio, 2013 en 22:51 dijo:

Hola, una pregunta.

¿sabes como configurar el bluetooth en android para que envíe caracteres en codificación UTF-8?

es que necesito enviar caracteres especiales de nuestra lengua española

ñ, á, é, í, ó, ú….etc.

y la codificación ASCII es de 7 bits por eso no se envían estos caracteres.

Page 17: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 17/23

alguna sugerencia que me puedas dar?

saludos.

PicTrance

en 23 junio, 2013 en 22:55 dijo:

Hola otra vez

lo que quise decir es que si sabes configurar el bluetooth en App inventor para enviar caracteres en codificación UTF-8

para enviar caracteres especiales de nuestra lengua española

ñ, á, é, í, ó, ú….etc.

y la codificación ASCII es de 7 bits, que es por default ala hora de enviar caracteres por el bluettoth, por eso no se

envían estos caracteres.

alguna sugerencia que me puedas dar?

saludos.

José Noé

en 2 julio, 2013 en 0:44 dijo:

Que buen proyecto, a penas empiezo en esto del arduino, pero quisiera hacer un vehiculo (ya tengo listo el hardware-

oruga) para ser controlado por un celular, quisiera saber que módulo bt tienes, pues no sé cuál adquirir? y como soy

nuevo en esto me da temor volver a comprar lo que no es. Gracias.

Page 18: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 18/23

nico

en 2 julio, 2013 en 4:23 dijo:

Hola! Yo compré el mio en Dealextreme, http://dx.com/p/jy-mcu-arduino-bluetooth-wireless-serial-port-module-

104299

alx

en 13 julio, 2013 en 21:03 dijo:

podria alguien ayudarme? quiero realizar una aplicacion para controlar un carro por bluetooth con android, pero aun no

tengo el modulo bluetooth para realizar pruebas, mi idea es hacer otra aplicacion en otro celular que reciva el dato que

la aplicacion de control envia para indicar hacia donde va o que boton se presiono, pero aun soy bastante novato y no

encuentro un buen tutorial. si no es muchha molestia le pido su ayuda. de antemano gracias.

Gianluca

en 27 julio, 2013 en 15:20 dijo:

Ya conecte todo,el celular me reconoce el dispositivo usb y todo pero cuando entro a la app y pongo conectar,error

504,debe ser un problema con la MAC que esta indicada en la app,como hago para cambiarla?

jose

en 30 julio, 2013 en 3:27 dijo:

tienes que instalar el “app inventor”. y hacer el programa para que puedas modificar la mac ya que ese

Page 19: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 19/23

programa esta con la mac del ejemplo

Gianluca

en 4 agosto, 2013 en 21:34 dijo:

Ya la arme con el app inventor la compile y la subí al teléfono,ya se enlaza pero los leds no hacen nada

y los botones quedan pulsados y no puedo volver a tocarlos,no me pasarías el proyecto pero desde el

app inventor,por que no puedo hacer nada con la que hice yo,lo único que tengo que hacer es cambiar

la MAC que pusiste.

Saludos.

Carlos Serna

en 7 agosto, 2013 en 5:16 dijo:

Disculpa, esta comunicacion podria se lo contrario? es decir, un ejemplo, que un boton (pulsador) se accione y este a

su vez manda una señal al arduino, y el arduino mediante bluetooth manda la señal a un movil android para que prenda

un foquito en la pantalla x cosa, cres que se pueda? ando en busca de eso para un proyecto ya he preguntado a

muchos pero nadie me responde je bueno, de antemano gracias y exelente tu video

david

en 22 octubre, 2013 en 10:45 dijo:

pudiste hacerlo?, yo necesito hacer lo mismo ahora y no me resulta :/

Page 20: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 20/23

Cristian

en 19 agosto, 2013 en 19:43 dijo:

sabes como se podra hacer lo mismo pero omitiendo la MAC pues la idea es poder trabajarlo con distintos

dispositivos y no hacer una aplicacion para cada dispositivo, lo has intentado antes…

juan

en 24 agosto, 2013 en 4:46 dijo:

buenas, necesito ayuda para encender y apagar todos los leds a la vez, con un botón de encender todo y otro de

apagar todo, gracias.

Paco

en 27 agosto, 2013 en 22:04 dijo:

Gracias por el tutorial, está perfecto para el que simplemente quiere saber manejar el bluetooth sin tener 10 pantallas

y miles de botones y funciones.

Ahora ando buscando otro tutorial que explique como acceder a la lista de dispositivos BT que ya están sincronizados

con mi telefono y poder elegir en vez de introducir la MAC dentro del código.

Saludos y gracias.

Page 21: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 21/23

Alvaro

en 1 octubre, 2013 en 20:00 dijo:

Admirable el trabajo, muy buena la web. Sigue asi. Saludos desde Mendoza

Ultra noob

en 15 octubre, 2013 en 20:42 dijo:

Disculpa, como puedo hacer para leer el dato en la aplicacion, enviarle un dato de arduino y lo reciba en la app ??

Alan arreola

en 25 octubre, 2013 en 3:19 dijo:

Tengo una pregunta como sería la comunicación de arduino aL celular. Lo he intentado pero no eh podido. Necesito

ayuda, el módulo que debo usa es el hc-05. Me podrías mostrar un ejemplo?

Lunita

en 20 noviembre, 2013 en 18:33 dijo:

Hola, yo quiero hacer una aplicacion que encienda un led pero no por bluethoot sino por wifi… como puedo hacerlo?

Page 22: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 22/23

Eduardo

en 23 noviembre, 2013 en 20:31 dijo:

Hola que tal espero que estes bien

yo quisiera saber como se podria adartar esa aplicacion de blutooth

adentro del mismo arduino lo que quiero decir que en vez

de que sace el 1 logico (prenda el led) ese uno logico sirva

para iniciar un proceso adentro del mismo arduino por favor ayuda

Hector Villegas

en 2 diciembre, 2013 en 3:31 dijo:

Hola amigo, te lo agradeceria muchisimo, podrias pasarme tu aplicacion que hiciste, la vdd se me ha complicado

mucho el crear mi aplicacion. Por favor

Lucas Fuentes

en 2 diciembre, 2013 en 15:54 dijo:

Me gustaria saber si no podrian decirme como hacer para que el boton conectar , haga aparecer una ventana que

muestre los dispositivos bluetooth disponibles exactamente como se muestra en Mobot BT Car esa aplicacion lanza

todos los dispositivos bluetooth disponibles y te deja elegir

Page 23: Creando una aplicación con App Inventor _ Proyectos Arduino

23/1/2014 Creando una aplicación con App Inventor | Proyectos Arduino

http://www.proyectosarduino.com.ar/creando-una-aplicacion-con-app-inventor/ 23/23

leonardo

en 9 diciembre, 2013 en 14:47 dijo:

hola desarrolle el appinventor con la MAC de mi dispositivo y se conecta perfectamente instale el programa en el

arduino uno y no marca ningun error pero no punciona

utilizo RN41

Carlos

en 22 diciembre, 2013 en 4:40 dijo:

Hola he probado tu código y va perfecto. Una pregunta . ¿ Se podría poner un texbox1 y un texbox2 para visualizar los

datos que envías al arduino y otro para recibir los que envía por el mismo puerto bluetooth. He buscado ejemplos pero

no encuentro como poder hacer ese bloque.Me gustaria recibir datos en app inventor como si fuera una terminal tipo

“blueterm”. ¿Es posible hacerlo con los bloques que hay?. Gracias y un saludo. Gracias a personas como tu este

mundo de bits cada vez avanza más rápido.