Nuestro objetivo es hacer una aplicación que controle el riego de la
huerta. Este riego debe cumplir una serie de requisitos:
No tiene por que ser diario, puede ser cada día, cada dos días, etc.
Debe poder realizarse a cualquier hora del día.
Debe poderse establecer un tiempo de regado para cada vez.
La programación debe ser individual para cada elecroválvula.
Cuando llueva se debe retrasar el programa de regado.
En otras palabras, para cada EV debemos ser capaces de decirle que
riege, por ejemplo, cada tres dias, a las 18:00 durante 45 minutos.
Además tenemos el detector de lluvia. Imaginemos que toca regar hoy pero
lueve, pues entonces se activará el detector de lluvia y hoy no regará.
Como el detector tarda bastante en secarse, cuando se desactive será el
momento de comenzar de nuevo el programa, y tres días después de haber
llovido, nuestro arduino volverá dar la orden a ese relé, que abra la EV
durante 45 min.
Para eso necesitamos varias aplicaciones. Dado que el arduino no tiene
un sistema de almacenamiento ni un interfase con el usuario, debemos
desarrollar una app que permita almacenar la información del programa de
cada EV (o relé), que tenga un interface apropiado para que el usuario
pueda programar estos datos y que permita conectarse al arduino para
transmitirle los cambios de la programación del riego.
Ver 1.1: Se ha cambiado el código de la versión 1.0 a la 1.1 al incluir
una tarjeta SD que graba ficheros de configuración y un log de lo que
ocurre con el riego. Este log hay que descargarlo y vaciarlo de cuando
en cuando al PC. De esto se encarga el programa de riego del PC.
Naturalmente hará falta la propia aplicación que llevará el arduino, con
lo necesario para conectarse al PC y dirigir las operaciones de los
relés. Para hacer este programa hacen falta conocimientos de
programación en "C". sino los tienes y no quieres aprender, no pasa
nada, cargas este programa en el arduino, y te olvidas.
Si no tienes conocimientos de programación o no son muy avanzados, será
mejor que uses el IDE del arduino en caso de que quieras hacer cosas con el
programa.
Por último el software para el PC. Este es un programa escrito en C. Está
hecho usando las librerias glib y GTK+. Es por tanto, un programa para
linux, en un escritorio gnome.
Algunas particularidades de este software son:
Permite la programación del riego.
Informa si hay algún relé activado, o entrada digital o analógica.
Permite activar/desactivar cualquier relé en cualquier momento
Te dice el último día de riego y cuando será el próximo.
Marca los valores de las entradas análogicas (versión 2.0),
Permite ver los envios/recepciones del puerto serie.
Muestra a voluntad la programación del riego actual en el arduino.
Almacena en un fichero la programación del riego.
(1.1) Se añaden funcionalidades para grabar y leer en la tarjeta SD.
(1.1) Se añaden ficheros de configuración en la tarjeta SD.
Y en próximas versiones mucho más...
Este programa no se libera. Si no quieres hacer uno propio, este
está a la venta (tranquilo, es MUY BARATO). Si quieres hacer uno propio
usando el programa de arduino que sí está a tu disposición y te encuentras
con problemas, estamos a tu disposición para ayudarte en la que sea.