AYUDA - [Futuro PFC] Mando TV Universal con Arduino + Android

Hola compañeros, antes que nada presentarme ante todos, ya que es mi primer post.

Soy un estudiante de ITT Especialidad Telemática, y me encuentro realizando mi Proyecto Fin de Carrera el cual consiste en realizar un mando universal por Infrarrojos mediante el uso de un ARDUINO conectado a un teléfono con S.O ANDROID.

Llevo unos par de meses consultando información para poder llevarlo a cabo y "cacharreando" un poco con el Arduino para tomar contacto con la plataforma y sus posibilidades.

Bien, actualmente estoy en la fase de inicial de la implementación del mimso, y estoy peleándome con la parte de ARDUINO, el cual se encargará de la recepción y retransmisión de las señales IR.

La idea es la siguiente:

  • Al Arduino estarán conectados un diodo LED IR y un receptor de infrarrojos. Mediante éste último, se recibirán los códigos de las teclas pulsadas en un mando y serán guardados en la EEPROM del Arduino. Mediante el LED IR se enviarán los códigos de las diferentes teclas guardadas.

  • El Arduino estará conectado (mediante una USB Host Shield o un módulo Bluetooh, aún por decidir) a un teléfono con S.O Android, el cual mostrará un una interfaz con botones, con la cual el usuario podrá interactuar como si fuese el/los mando/s del cual se guardaron los códigos de los distintos botones.

Por el momento he logrado conseguir recibir los códigos de diferentes protocolos usando la librería IR de Ken Shiriff´s y los ejemplos que trae: A Multi-Protocol Infrared Remote Library for the Arduino

He conseguido probar con éxito, recibir y reenviar códigos de los protocolos RC6, Sony Sirc y NEC.

Pero ahora viene el problema.

Estoy intentando ayudarme/basarme del ejemplo que trae la librería, llamado IRrecord. El cual guarda un código y lo retransmite si es pulsado un botón.

El programa me decodifica bien los códigos que estoy recibiendo de los distintos mandos que estoy probando, pero a la hora de enviarlos, no me funciona....la TV no responde a ninguno de los códigos.

Sin embargo, como he comentado antes, si hago uso de los ejemplos IRrecvDemo e IRsendDemo. He conseguido recibir códigos de diferentes teclas pulsadas en los mandos y reenviarlos pudiendo subir el volumen, bajarlo, cambiar de programa, apagar la TV......

Así que os pido ayuda, a ver si podéis probar en un rato el ejemplo IRrecord y me digáis si conseguís recibir y reenviar un código como promete ese ejemplo.

La cosa es que quiero conseguir que me funcione para que el Arduino sea capaz de APRENDER por si SOLO los distintos códigos de los botones de los mandos. No obstante, si no lo consigo, otra opción es que ya sabiendo los códigos de un mando concreto, hacer un Sketch con ellos predefinidos, para su envió (pero ya me dejaría de ser universal.... =(, pero no quiero quedar atascado y no avanzar con el proyecto).

Por otra parte, estoy detrás de probar la conexión del Arduino con el teléfono móvil.
Por el momento tengo una USB Host Shield de Sparkfun (http://www.sparkfun.com/products/9947) la cual he visto que es compatible con el Android Open Accessory Development Kit (http://developer.android.com/guide/topics/usb/adk.html).

Otra opción que he visto para la comunicación, es mediante Bluetooth y ayudándome de la librería AMARINO (http://www.amarino-toolkit.net/), he pedido el siguiente módulo que recibiré en los próximos días para probarlo (http://www.dealextreme.com/p/jy-mcu-arduino-bluetooth-wireless-serial-port-module-104299?item=1).

Me gustaría saber si alguien ha utilizado ya una u otra conexión y que me aconsejaseis cual es más fácil de implementar para lo que quiero hacer.

Dicho todo esto, la idea es que poco a poco vaya aprendiendo y comparta con vosotros mis problemas, avances, soluciones y que finalmente consiga materializar el proyecto y pueda compartirlo con todos vosotros.

Intentaré siempre postear links que me hayan servido de ayuda, para que a otros también les pueda servir de algo.

Un saludo y muchas gracias por adelantado por vuestro tiempo y ayuda.

PD: Mis ganas por aprender no conocen límite, y ya que soy bastante nuevo con la plataforma, me gustaría conocer/ponerme en contacto con personas que estén en mi situación o sean experimentadas, para poder quedar con gente y realizar otros proyectos. Si hay alguien de Gijón o León, estaría encantado de ponernos en contacto.


Aquí os dejo distintos links que me están sirviendo para realizar el proyecto:

http://www.circuitsathome.com/store/usb-host-shield-2-0-released
http://www.circuitsathome.com/usb-host-shield-hardware-manual
http://www.duinodroid.com/

Hola! exelente post! seguro eres bueno! seguire de cerca tus publicaciones, yo voy empezando con arduino, me inclino a la parte de control y comunicacion inalambrica. sin embargo con arduino no logro avanzar tanto, y espero tu me puedas ayudar con un detalle basico que tengo.

Los scketch que mando al arduino corren muy bien, pero al desconectar el arduino y volverlo a conectar en la PC el programa ya no esta y tengo que volver a cargar (upload) el scketch para que vuelva a funcionar =S, esto quiere decir que cuando lo quiera aplicar en algun lugar donde no haya una computadora y si se llega a apagar entonces tengo que reprogramar el arduino!!

no creo que asi funcionen los arduinos porq seria un fiasco y como no lo creo, por ello seguro hay una solucion o me falta hacer algun paso para que el programa quede cargado en el arduino y asi aunq se apague siga el programa dentro y al conectar nuevamente funcione.

te agradeceré mucho si me puedes ayudar con esto! gracias y nuevamente felicidades por tu post!