Disminuir el consumo de energía al máximo de Arduino REV UNO.

@ArduMyth gracias por contestar

El motor de agua bombea cerca de 1,5 L de agua en 2 minutos a través de 4 mangueras (2 por cada planta) desde un cubo de 5L de capacidad. Teniendo en cuenta que son 2 tomateras en maceta, toca a 750 ml por planta. Cantidad que considero más que suficiente porque tampoco hace mucho calor. Ese periodo de 2 minutos se puede modificar por 1 minuto o minutos dependiendo de la época y lo que estimes.

Me gustaría que mis sensores funcionasen continuamente y que solo el motor funcionase cada 3 horas y 2 minutos. De eso se trata, que el motor solo riegue 2 o 3 veces por la noche, 6 minutos como maximo durante la noche y con la luz solar deje de regar.

Has puesto una foto de motor de bomba de agua de acuario similar al que uso yo, funciona con menos de 5V. Tambien he pensado que seria buena idea reducir el numero de revoluciones por minuto del motor que ahora esta en 255 y dejarlas en el minimo 100.

No es mi intencion ahogar las plantas en agua, todo lo contrario. Hay gente que usa un sistema de riego por goteo durante todo el día y quiza sea bueno en ese caso, pero si quieres echarle cierta cantidad de agua durante un breve periodo de tiempo, tienes que hacerlo por la noche.

No, no tengo ningún kit por goteo. No sé como se comportaría la bomba de riego si regase por exceso y excediese el caudal que soporta las manguera, si le pones una boca muy pequeña al final de la manguera, el agua no podría circular y la minibomba de agua solo abastece 2 plantas y a una corta distancia. Yo he usado tubos de goma normales adaptados a la boca de la minibomba de agua.

Veo que usas un relé, entiendo que lo conectas a la red eléctrica de tu casa. Personalmente,yo prefiero usar un cargador de alimentación de 9V para Arduino y conectarlo a la toma de red electrica. Las macetas están en la terraza que lindan con mi habitacion, es más podria enchufar un temporizador y conectar a dicho temporizador un cargador de alimentacion de 9V.

La fotorresistencia indica el grado de luminosidad nocturna que en este caso es bajo y sirve para indicar a Arduino que puede regar.

Yo quiero que el código lea las mediciones de los sensores y el motor funcione 2 minutos y se pare y vuelva a funcionar dentro de 3 horas independientemente de lo que digan las mediciones. Con 2 o 3 riegos por la noche es suficiente.

La diferencia entre delay y timer radica que delay hace comprobaciones continuas (lo que hace consumir más recursos) los timer programan una interrupción para cuando llegue el momento ejecutar las serie de instrucciones y la verdad, prefiero esto ultimo. Me gustaría usar timer solo con el motor y que los demas sensores siguiesen funcionando de forma ininterrupida. ¿Me podrías orientar un poco con alguna librería timer y ejemplo de código?