Monday, June 29, 2009

Una maquina controlada por Arduino, rayos laser, y es inalámbrica (wireless) que le da comida a mis gatos automáticamente.



He pasado las últimas semanas diseñando un aparato que pueda dispensar comida a mis gatos en una forma sistemática y predecible. El resultado es esta máquina.

El cilindro descansa en dos barras metálicas para darle fuerte soporte y también una forma de girar sin restricción. La rotación viene de un motor servo cuyo cual es controlado directamente por el Arduino.

El cilindro tiene una apertura en su lado. Cuando este gira, la apertura permite que la comida dentro de el salga y caiga por tubos de PVC a los dos contenedores donde los gatos pueden comer.

Un rayo laser es usado para calcular la posición del contenedor. El laser está apuntando a un sensor de luz. En uno de los extremos del contenedor cilíndrico hay un pedazo de madera que actúa como indicador de la posición de la apertura de la comida en el cilindro. Este trozo de madera está alineado con la apertura de comida. Este también está en el mismo plano que el rayo de laser iluminando el sensor de luz. Cuando la apertura de la comida está mirando arriba (y por supuesto no dejando que la comida caiga) el pedazo de madera bloquea el rayo de laser y no deja que ilumine el sensor. De esta forma el Arduino sabe cuando el contenedor no está dando más comida.

La idea de usar el rayo laser para detectar la posición del contenedor viene de este blog.

Finalmente, el aparato tiene un reloj en el Arduino que le comanda a dar comida cada cuantas horas. Un usuario también puede conectarse al aparato por medio de una página de internet y observar su operación por medio de una cámara conectada a otro computador. El aparato tiene un modulo de comunicación inalámbrico (Xbee) que recibe y manda datos a un computador servidor. El usuario, por la misma página de internet, puede mandar comandos para dar comida inmediatamente, activar o desactivar el reloj, y otros. Los videos, aunque narrados es Ingles, tienen una buena explicación grafica de cómo funciona y se usa.

Obstáculos mayores
Mi mayor problema fue controlar el motor precisamente. Debido a que los motores son susceptibles a cambios de voltaje y corriente, los motores deben ser conectados en una forma especial. El proceso de “de-coupling” debe ser implementado para que el motor no se vuelva loco en media de su funcionamiento. Esta página tiene una muy buena explicación de esto.

¡Finalmente! Los videos. Excuse que este en Ingles. ¡Espero poder traducirlos en el futuro!













Cualquier comentario productivo será my agradecido. Muchas gracias por leer. Por favor excuse my español. :)

3 comments:

  1. Muy interesante tu máquina dispensadora de comida para animales domesticos.

    Dime si oublicas el código, debe ser interesante.

    Gracias por ti tiempo.

    ReplyDelete
  2. Jajaja, es increible, eres muy inteligente, eso se llama tener iniciativa, con cosas pequeñas pero logicas se puede empezar una gran industria, porque ahi es donde nos damos cuenta las necesidades que tenemos como seres humanos!

    ReplyDelete
  3. Estupendo, me pareció muy interesante. El español perfecto, solo una pequeña corrección:
    -Los videos, aunque narrados "en" Ingles,
    -Cualquier comentario productivo será "muy" agradecido.
    -Por favor excuse "mi" español. :)

    Tenia unas preguntas, Cómo trabaja la comunicación del arduino? Por medio de tramas? o cómo? Mantiene una comunicación constante? Sería tan amable de enviarme el código o parte de él para ver el metodo de comunicación?. Yo trabajo con tramas y la verdad, no me funciona muy bien. Muchas gracias.

    ReplyDelete