viernes, 3 de octubre de 2014

Coctel de Arduino + Bluetooth + Processing + Android = Radar

Vuelvo con el tema de los ultrasonidos y es llevo tiempo intentando hacer esto que os traigo y hoy, aprovechado que me ha llegado la nueva placa Arduino de bq la ZUM BT-328 con bluetooth incorporado, no me he resistido a mostraros lo que estoy haciendo.


La idea era hacer un radar usando el sensor de ultrasonidos. Hasta aquí nada nuevo, solo hay que usar un servo que mueva el ultrasonido desde un lado a otro realizando un barrido y recogiendo el ángulo en que se encuentra y la distancia detectada hasta un objeto.

Pero empecé a pensar, ¡¡maldita manía!!,  quería reflejar esos datos de manera gráfica, igual que los radares que salen en las pelis.


Para esto pensé en utilizar Processing que se programa prácticamente igual que Arduino y que sirve para manejar gráficos.

Pero, no me iba a quedar ahí, tenía que complicarlo más. ¿por qué no mostrar los gráficos en un móvil?

Vaya, ahora, tenía que utilizar algún IDE para desarrollar para Android y por supuesto, utilizar el bluetooth, y tenía dos problemas añadidos: mi falta de experiencia en aplicaciones para móviles y que todo lo que veía estaba enfocado en enviar datos desde Android a Arduino y no al revés.

Hasta este momento, lo único que había utilizado en el mundo Android era App Inventor del MIT (ver esta entrada del blog), así que me puse a hacerlo en este entorno, pero pronto me di cuenta que no era capaz de conseguir gráficamente lo que quería.

También había visto en Google+ algunas entradas referentes a Protocoder que es un entorno de desarrollo en JavaScript para el prototipado rápido de aplicaciones Android y que además utiliza tu dispositivo móvil para almacenar tu código, por lo que lo puedes llevar a todas partes. 

El caso es que Protocoder incluye un montón de librerías entre las que se encuentran Processing y Android:  ¡¡¡Mi salvación!!!

Pero volví a chocarme con mi falta de experiencia y pronto me quedé atascado. Pedí ayuda a Victor Diaz (el creador de Protocoder) y sobre todo a Jose Juan Sanchez (muchísimas gracias por tu ayuda, José) y aunque José se empeño en ayudarme en todo lo que necesitaba al final no lo he podido hacer con Protocoder, pero que conste que no lo abandono, me gusta mucho este entorno y me parece que tiene un montón de posibilidades.

En fin, que me enrollo demasiado. 

Al final, descubrí que existe Processing para Android, y decidí probar.

Aunque aún no funciona todo lo bien que me gustaría, aquí os presento el resultado:




Como podéis ver, aun no va fino, sobre todo falla en la lectura de los valores que envía Arduino, por lo que por ahora no voy a poner los fuentes, pero prometo que en cuanto considere que lo tengo mas o menos OK, los publicaré. 

Realmente, no he hecho mucho, he ido cogiendo de aquí y de allí y lo he ido adaptando a mis necesidades. Cuando publique el código, pondré los enlaces de la gente que, sin saberlo me ha ayudado. Por eso, es tan bueno compartir los conocimientos.


¡¡¡Viva el patrimonio tecnológico de la humanidad!!!




7 comentarios:

  1. hola amigo muy chevere me púedes regalar el codigo de arduino y processing para realizarlo y la aplicacion apk mi email es fachame12@hotmail.com

    ResponderEliminar
    Respuestas
    1. Hola frutostecnologicosmiravalle, gracias por tus comentarios.

      Todos mis proyectos son de software y hardware libre, éste en concreto, como se dice en la segunda parte de esta entrada (http://robotstyles.blogspot.com.es/2014/10/arduino-bluetooth-processing-android-ii.html) lo puedes en contrar aquí:
      https://github.com/movilujo/proyectos/tree/master/Radar

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. I doing graduation project this project . can you give me software codes. please ?

    ResponderEliminar
    Respuestas
    1. Hi, you can find everything you need in my github https://github.com/movilujo/proyectos/tree/master/Radar

      Eliminar
  4. Que tal!

    Disculpa tengo dudas respecto al proyecto, podria contactarte por correo para que me puedas apoyar?
    - Saludos

    ResponderEliminar