miércoles, 8 de octubre de 2014

Arduino + Bluetooth + Processing + Android (II)

En esta segunda parte no hay nada nuevo, solo que lo prometido es deuda y os debía los fuentes de este proyecto/experimento.

En la entrada anterior os dije que iba a intentar mejorar la parte de lectura de los datos enviados por arduino y lo he hecho, pero el resultado no ha sido todo lo satisfactorio que hubiese querido. 

Así que, nada mejor que ponerlo todo a disposición de la comunidad, que seguro que en manos de gente más experimentada en determinados aspectos, el proyecto pronto mejorará y podremos beneficiarnos todos.




Otra cosa que tenía pendiente es el agradecer a las personas que con su trabajo me han servido de inspiración y de ayuda. Estas personas y sus publicaciones son:

Oscar Rodriguez Parra y blog Sistemas O.R.P. y mas concretamente su entrada http://www.sistemasorp.es/2011/08/13/android-processing-bluetooth/ de donde obtuve el código para utilizar Processing y bluetooth. ¡Gracias Oscar!
  
Pepijn Koopman y su proyecto en github ArduinoRadar de donde obtuve el código para realizar la interfaz gráfica con Processing.

En mi intento de mejorar la lectura de datos desde Android me sirvió de inspiración Daniel García y su blog "Let's code something up!", en concreto su entrada Bluetooth (IV): Creando el hilo de conexión  de donde aprendí otra forma de leer los datos recibidos por Bluetooth.

En fin, como veis, yo no he hecho prácticamente nada, solo he cogido lo que otros habían hecho, lo he adaptado para que encajen unas partes con otras y lo he unido para que funcione todo junto.

Los fuentes de cada una de las partes lo podéis encontrar aquí:


Cada uno en su carpeta correspondiente.

La carpeta Piezas contiene el Freecad y los stl, de las piezas por si alguien las quiere imprimir en 3D.




La carpeta Android contiene el proyecto que genera Processing para Android y que puede importarse a tu IDE de desarrollo favorito (Eclipse, etc.). Precisamente en la carpeta 
./android/bin podeis encotrar el fichero .apk para instalarlo directamente en el dispositivo móvil.

Espero que este trabajo sirva de inspiración a otros y, por favor, si alguien consigue mejorar la lectura, que no deje de avisarme.

  

20 comentarios:

  1. By any chance, do you have this project format in English?

    ResponderEliminar
    Respuestas
    1. Hi David, I'm not sorry, I'm afraid my English is not very good and just have it in Spanish.

      If I can help you, feel free to ask, I will help Google Translator:-)

      Eliminar
  2. Hello, I am inspired by your project, I will try to do it for myself education. Can I use it to design a normal arduino uno? (no UTI BT-328)

    /Martin

    ResponderEliminar
    Respuestas
    1. yes, of course, you can use an Arduino Uno and a separate bluetooth module

      Eliminar
  3. Su proyecto se ve muy interesante.

    Voy a tratar de hacer algo similar.

    Tengo una pregunta - ¿Es posible extenderlo como un detector de movimiento? Tenemos la posición de todos los "obstáculos" y cuando se cambia este tema, sabemos que un objeto está en movimiento, por lo que la aplicación envía un mensaje acerca de la presencia de alguien.

    Alternativamente, si la aplicación puede seguir el movimiento de dicho registro sólo aquellos elementos que están en movimiento?

    ¿Es esto posible?

    /M.

    ResponderEliminar
  4. Como te comenté en el vídeo, enhorabuena por el proyecto. Y ahora que he visto a tu hija hablar en una charla de Ted, también darle la enhorabuena a ella por su labor comunicadora.

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Buenas noches Jose Luis. Te tengo una pregunta: Intento conector tu aplicacion con un MSP430 por un modulo bluetooth. Asumi que la aplicacion solo necesita la señal recivida del bluetooth generada por el arduino que a su vez es un entero con la distancia del punto.

    Mi pregunta es si tu aplicacion funciona como cliente o como servidor, puesto que me esta dando un error al correrla y conectarla con el modulo bluetooth. Probe con Bluetooth terminal y esta me reconoce los datos, pero esta trabaja como cliente. Por eso te hago la pregunta

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola Lorenzo, gracias por leer nuestro blog.

      La aplicación funciona en modo cliente, o sea, se conecta al dispositivo bluetooth que seleccionamos y se queda a la espera de recibir datos del arduino para mostrarlos.

      No se que error te estará dando, en la carpeta Processing/arduRadarV2 tienes los fuentes de la aplicación para el móvil. La clase getSendDatos.pde es la que se ocupa de leer los datos que le llegan de Arduino.

      Siento no poder serte de mas ayuda.

      Un saludo

      Eliminar
    2. Muchas gracias Jose. Logre configurarla de manera adecuada y funciona perfecto. En mi caso utilice un MSP430 G2553 para hacer un proyecto similiar y use tu aplicacion para mostrar los datos. Necesito uno que otro ajuste para los valores pero debo decirte que funciona de maravilla. Excelente trabajo en verdad.

      Muchas gracias por proporcionar esta herramienta.

      Un saludo

      Eliminar
    3. Me alegra que te sea de utilidad, pero si has leído la entrada, el mérito es de otros que compartieron su conocimiento, yo solo he tomado de unos y otros y he adaptado para que trabajen juntos.

      La verdad es que compartir el conocimiento nos ayuda a todos.

      Gracias a ti

      Eliminar
  7. Very interesting project indeed. But I'm getting errors while building the project. Can you help?

    ResponderEliminar
  8. Can you tell us the process of making this entire project step by step in english
    my email id: amitspanchal5@gmail.com

    ResponderEliminar
  9. Hola tengo una duda, ¿como conectaria un modulo bluethotth como hc-06? y ¿De donde puedo sacar las librerias para arduino.bluetooth?
    Muchas gracias y genial trabajo

    ResponderEliminar
    Respuestas
    1. Hola David, muchas gracias por tus comentarios.

      No se si entiendo bien lo que me preguntas, imagino que lo que quieres hacer es usar un módulo HC-06 con un arduino normal ¿no?. Si es así, mira en esta otra entrada del blog a ver si encuentras la respuesta

      http://robotstyles.blogspot.com.es/2014/02/probamos-el-bluetooth-i.html


      Eliminar
  10. hello sir it's not working with me

    ResponderEliminar
    Respuestas
    1. It should be noted that the code for this project was written almost 3 years ago and may need to be adapted to the new versions for it to work

      Eliminar
  11. intenté implementar tu código, aplicación en arduino nano, pero en la aplicación encontré que el radar solo mostraba la mitad y el resto no se trazó y algunos ángulos se activaron al comenzar. Ayúdame a superar el problema Quiero trazar el radar completamente cubierto y sin ser golpeado.

    ResponderEliminar
  12. Hello! Help, please, to make so, to on phone was radar in 360 degrees, not on 180 (could you tell me although would, what string is worth reverse). Thank you in advance for your help.

    ResponderEliminar