Robot casero con arduino (primera fase)

Con la llegada de las vacaciones estivales y con el principal motivo de hacer un proyecto con mi hijo mayor de 11 años y pasar así tiempo juntos a la vez que aprendiendo cosas nuevas, se nos ocurrió la idea de fabricar un robot casero desde 0, es decir, sin utilizar ningún kit de los que hay a la venta.

Chasis.

Así que nos pusimos manos a la obra y el primar paso sin duda fue la construcción del chasis. Para que nos fuera más sencillo trabajar en él, nos decidimos por paneles de madera, que aunque no es la mejor opción, si que se puede encontrar en cualquier ferretería. Le dimos una forma circular dejando un hueco para las ruedas y lo pintamos de color cobre.

Chasis madera robotEdward_chasis_pintado

Tracción.

Después de mucho leer por ahí, para darle movimiento al robot, nos decidimos por un par de motores DC 37x57mm – 100:1. Sé que quizás son motores demasiado potentes para este proyecto y además son muy pesados (300 gramos cada uno) pero creo que es la mejor solución para no preocuparse por lo que pueda llegar a pesar el robot, ya que no hay nada pensado a priori y no nos queremos quedar en un futuro escaso de fuerza.

Para que fuera lo más alto posible nos decantamos por poner estos motores en la parte inferior del chasis con un par de soportes de metal para motores DC y con un par de ruedas de 80x10mm.

Como estos motores son bastante potentes y arduino no tiene suficiente potencia, hemos utilizado el controlador de motores doble puente H – L298, lo cual además de suministrarle la corriente necesaria, nos permite manejar tanto la dirección como la velocidad de una manera más fácil desde arduino.

Edward_motores

Comunicación.

Para finalizar esta primera fase montamos también un módulo de bluetooth HC-05 y poder así controlar la placa arduino desde una pequeña aplicación para teléfonos android que también hemos hecho.

Edward_controlador_motores_bluetooth

Resultado.

Una vez montado todos los elementos y solucionado los problemas que nos hemos ido encontrando (que no han sido pocos) ya que nuestro nivel de conocimiento de electrónica se reduce a cambiar una bombilla 🙂 este es el resultado de la primera fase!!!!!

Si os interesa el fichero para fritzing con las conexiones, el código de la aplicación android o el sketch para arduino, sólo tenéis que pedirlo.

Anuncios

Actualización “Guía de Semana Santa” para el año 2013

Llegada estas fechas en las que se aproxima la Semana Santa y como todos los años he actualizado la aplicación. Esta es la lista de las cosas nuevas que podéis encontrar:

  • Actualizado los itinerarios de las cofradías para el año 2013. Como no podía ser de otra manera, se han actualizado todos los itinerarios de todas la cofradías y de todas las ciudades.
  • Historia de las cofradías. Se ha añadido en la ficha de detalle de cada cofradía un nuevo punto de menú en el que podemos ver una breve descripción de la historia de la cofradía.
  • Datos extras. También se ha añadido otro nuevo punto de menú en la ficha de la cofradía con el nombre de “Más datos”. Dependiendo de cada cofradía y de cada ciudad ,aquí podemos enontrar información sobre la banda de música que lleva, de los estrenos de este año o cualquier otra información.
  • Videos. Este año tenemos la posibilidad de ver una recopilación de videos de cada cofradía y que están alojados en YouTube. Para ver estos videos he utilizado la última API de Google para YouTube. Si alguien tiene problemas para ver correctamente los videos es recomendable actualizar la aplicación nativa de YouTube.
  • Nuevo sistema de menús. Todos los sistemas de menús se han cambiado a una versión más moderna y standard en android.
  • Reestructuración de código fuente. Aunque eso es a nivel interno y exteriormente no se puede apreciar nada, he reescrito muchísimas partes de la aplicación ya que el código tenía más de tres años y era hora de hacerle un lavado de cara. Para los que no lo sepáis, el código fuente esta disponible en github

Bueno, creo que no se me olvida nada. Espero que paséis una buena Semana Santa y que la aplicación os sea de ayuda 🙂

Cliente para Android de las api de Wunderground y World Weather Online

En 47 degrees hemos liberado el código fuente de un par de librerías para consultar el tiempo atmosférico, que nosotros mismos utilizamos en las aplicaciones Android que desarrollamos. Se trata de una librería para Weather Underground y otra para World Weather Online.

Estas librerías son muy fáciles de usar. Por ejemplo, si utilizáis los proyectos con maven como nosotros, tan solo la tenéis que meter como una dependencia más la librería que os interese usar y ya se descargará automáticamente todo lo que le hace falta. En Github tanto para Weather Underground (android-worldweatheronline-client) como para World Weather Online(android-wunderground-client) tenéis todas las instrucciones y ejemplos necesarios para su utilización.

En la cuenta de 47 degrees de Github también tenéis otras cosas que quizás o sirvan de ayuda.

 

Liberado el código de la aplicación “Guía de Semana Santa”

Desde hoy el código fuente de la aplicación “Guía de Semana Santa” pasa a ser open-source.

Los motivos principales de liberar el código han sido contribuir un poco más a la comunidad e intentar ayudar a todos aquellos que esten aprendiendo android, ya que nunca viene mal leer un poco de código de aplicaciones que ya están funcionando.

Por supuesto que si alguien se anima que no dude en hacerse un fork y subir los cambios de todo lo que haga y así podemos ir mejorando poco a poco la aplicación. Si tenéis algún problema para montarla en eclipse o intellij ponerse en contacto conmigo.

El código fuente lo he liberado en mi cuenta de github.

Entrevista en androidsis

¿Por qué negarlo? La verdad que me he sentido muy orgulloso de que la gente del equipo de androidsis se ponga en contacto conmigo para hacerme una entrevista y hablar un poco sobre el mundo de Android. Para los que no los conozcáis, Androidsis es un blog muy interesante el cual nos tiene informado de todas las novedades que sucedan en el mundo del sistema operativo de Google para dispositivos móviles.

Bueno, pues lo dicho, aquí tenéis la entrevista 🙂

Entrevista en androidsis

Detectar automaticamente el encoding de un XML al realizar el parser en java / android

Llevo varios días atascado con un problemita en android y que no conseguía dar con la solución. En una aplicación que estoy haciendo es necesario parsear diferentes xml con SAXParserFactory, los cuales pueden venir con un encoding diferente, siendo imposible saberlo a priori. He estado buscando y buscando durante días hasta que al final he encontrado la solución.

Para detectar el encoding tenemos que utilizar la clase GuessEncodingInputStream (esta está modificada por mí con algunas mejoras), es decir, nos la bajamos y se la añadimos a nuestro proyecto (y esta es la original).

Una vez tengamos la clase en nuestro proyecto tan solo tenemos que consultar el enconding y utilizar el SAXParserFactory para parsearlo utilizando un Reader , más o menos así:

[java]

url = new URL(“Direccion del feed”);

SAXParserFactory factory = SAXParserFactory.newInstance();

SAXParser parser = factory.newSAXParser();

ExampleHandler handler = new ExampleHandler();

 

InputStream istream = url.openStream();

InputStream istreamEncoding = new GuessEncodingInputStream(istream);

String encoding = ((GuessEncodingInputStream)istreamEncoding).guess();

 

istream = url.openStream();

Reader isr = new InputStreamReader(istream, encoding);

InputSource is = new InputSource();

is.setCharacterStream(isr);

 

parser.parse(is, handler);

[/java]

 

Mil gracias al autor de nubi que gracias a su open source he podido encontrar la solución. Por supuesto si alguien conoce una forma mejor de hacerlo que no deje de compartirla 🙂

WikiDroid – Guía de referencia para desarrolladores android

 

Cabecera página wikidroid

Desde que empecé a programar en android he ido almacenando en documentos trozos de código que he encontrado por Internet e incluso alguno propio 🙂 Para evitar la perdida de estos trozos de código (snippets) y poder tenerlos ordenados pudiendo después acceder a ellos de forma rápida y ágil me anime a crear WikiDroid. Una simple wiki donde guardar toda esta documentación que no sabes cuando te hará falta.

Una vez la puse en la red se me ocurrió darle acceso a todo aquel que quisiera para que así otros se beneficiaran de mi humilde documentación. Por último me pareció buena idea que no fuera yo el único editor y animar a cualquier desarrollador de android a que contribuyera en el proyecto y así conseguir que todos salieramos beneficiados.

Si tienes conocimientos de android anímate y comparte 😉