Se plantean dos modelos de riego automático. Uno controlando electroválvulas conectadas a la red de agua, programable a distancia por SMS (lugar incomunicado) y localmente. El otro programable a través de internet o wifi y localmente, controlando una mini bomba de agua. 

Con los conocimientos que adquieras  durante la lectura de este tutorial puedes realizar tu propia versión del  proyecto mezclando dichos modelos y conseguir así construir un artefacto que se ajuste mejor a tus demandas.


Modelo 1

El Mondeitor 2023 v2 controlará 8 electro válvulas que deberán estar conectadas a la red de agua con presión y su salida a la goma de distribución que previamente colocaremos para que suministre de agua las zonas elegidas.

Hay que tener en cuenta que el aparato que fabricaré será destinado para estar ubicado en el interior y protegido de las adversidades de la intemperie y alejado todo lo posible de las fuentes acuáticas.

Las válvulas elegidas en mi caso son de 24V lo que me obliga a buscar una fuente de alimentación para suministrar tal tensión que aunque no resulta peligrosa merece de cierto respeto en la manipulación.  La corriente demandada del sistema no es demasiado elevada, puesto que tendemos a pensar que las 8 válvulas requerirán mucho amperaje, en el modelo que presento sólo se activarán de forma individual, una cada vez.

Fuente de alimentación de 24V

Aún así y teniendo en cuenta que el módulo de SMS consume una corriente considerable y el resto de componentes también consumen,  nunca está de más usar una fuente de alimentación poderosa.

Interruptor

Usaremos cualquiera a disposición preferentemente que sea de superficie para poder atornillar a la tabla que servirá de soporte de todas las piezas que irán atornilladas. Luego anclaremos la tabla a la pared. La misión de este interruptor es básicamente reiniciar el microcontrolador en caso de error o apagado momentáneo, pues recomiendo desenchufar o usar una regleta de 220V con interruptor para cortar toda la alimentación del sistema por seguridad cuando no sea usado. 

Step Down DC

Estos módulos pueden regular la tensión de salida con el potenciómetro integrado que ves en azul. El módulo que uso, en concreto el LM2596, soporta tensiones de entrada entre 3 y 40 VDC y puede darte a la salida desde 1.5V hasta unos 35 VDC, con un rendimiento excelente.

Pueden proporcionar 2 Amperios estables y llegar puntualmente hasta los 3 Amperios, pero para mantenerlos necesitaras un disipador, por lo que ya son capaces de alimentar cosas como pequeños y no tan pequeños  motores.

Debemos girar el potenciómetro azul hasta conseguir alimentarlo con 24V y que otorgue 5V de salida, pues de aquí alimentaremos la electrónica de control (relés, Arduino, LCD,…).

LM2596
Soporte STL del LM2596 para anclar sobre madera.

Consola de control

Aquí tendremos el LCD 16×2 I2C como pantalla, un pequeño zumbador, un potenciómetro y un pulsador para selección. Los cables saldrán por la parte de abajo de la consola para unirse a la etapa de control.

Esta consola puedes imprimirla descargando este fichero rar que contiene el modelo en STL.

Potenciómetro

Se trata de un potenciómetro estandar de 7mm de diámetro de eje de rotación y de una resistencia indefinida, pero yo usé 100K. Servirá para irnos desplazando por el menú de configuración. Leeremos su posición en el pin A0 de nuestro Arduino Nano. Recordar que debemos conectar GND y 5V a los otros terminales.

Pulsador

El diámetro ha de ser de 16mm. Se usará para confirmar los cambios realizados con el potenciómetro.

Lo conectaremos al pin A1 usando una resistencia de 1K en modo pull up

Zumbador

Pieza estandar que sonará para confirmar auditivamente la selección. El diámetro es de 9mm. Irá conectado al pin D12 y tierra.

LCD

Se comunica a través de la conexión I2C  esto significa que debemos conectar SCL a A5 y SDA a A4. Estos pines serán compartidos por otro módulo I2C, el reloj RTC,  que veremos más adelante. Los módulos poseen direcciones asignadas de fábrica distintas, por lo que no tendremos problemas de comunicación. Aún así podríamos cambiar estos valores si nos interesa.

Para su programación emplearemos la librería <LiquidCrystal_I2C.h> disponible desde el IDE de Arduino.

Posee un potenciómetro que sirve para ajustar el contraste de la pantalla (a veces está tan clara que parece que no funciona). Además trae un jumper para conectar o desconectar el led interno que ilumina la pantalla (esto se puede controlar por software, por lo que mantenlo en corto). También cuenta con unas soldaduras en abierto  (A0, A1 y A2) estas son para modificar la dirección del I2C de la que hemos hablado antes en caso de necesitarlo por si usamos otro dispositivo con la misma dirección. 

Para sujetar la pantalla a la estructura de la consola usaremos 4 tornillos M3 de 15mm.

Consola de mando

Por último atornillar la consola a la tabla de sujeción que irá colgada en la pared.


Reloj

Para el proyecto debemos saber en todo momento la hora del día. Para estos casos es extremadamente útil el módulo de reloj de tiempo real (RTC) de gran precisión conocido como DS3231.

Los RTC aportan la ventaja de reducir el consumo de energía, aportar mayor precisión y liberar a Arduino de tener que realizar la contabilización del tiempo. Además, frecuentemente los RTC incorporan algún tipo de batería que permite mantener el valor del tiempo en caso de pérdida de alimentación.

Su comunicación es fácil por I2C. Lo alimentaremos con 5V y conectaremos SCL a A5 y SDA a A4.

En el código de programación usaremos la librería <I2C_RTC.h> para comunicarnos con el módulo.

Es posible cambiar la dirección I2C del módulo pero no es el caso en este tutorial. Para conocer ésta se puede usar el siguiente código de SCANER realizado por Luis Llamas, del que he aprendido casi todo lo que sé de electrónica.

Para colocar el reloj podemos imprimir la siguiente pieza que se anclará a la tabla de sujeción.


Relés

Uso dos módulos que poseen 4 Relés cada uno, capaces de manejar cargas de hasta 250V/10A. Cada canal posee aislamiento eléctrico por medio de un optoacoplador y un led indicador de estado. Este módulo Relé activa la salida normalmente abierta (NO: Normally Open) al recibir un «0» lógico (0 Voltios) y desactiva la salida con un «1» lógico (5 voltios). Para la programación de Arduino y Relés se recomienda el uso de timers con la función «millis()» y de esa forma no utilizar la función «delay» que impide que el sistema continúe trabajando mientras se activa/desactiva un relé.

Uno de los módulos, tiene la lógica cambiada así que notarás ciertas incoherencias en la parte de programación del código.

Los módulos relés los alimentaremos a 5V en la etapa de control y a 24V en la etapa de potencia. Para este último propósito usaremos regletas «puenteadas» para poder administrad todas las masas a cada una de las válvulas.

Los pines de control serán D4, D5, D6, D7, D8, D9, D10 y D11.


Control por SMS

Para el proyecto usaré el modelo SIM800C con tarjetero incorporado. Se alimentará a 5V y lo conectaremos a D2 y D3 mediante SoftwareSerial. 

Este módulo precisa de mucha corriente cuando envía o recibe SMS por lo que puede dar problemas.

De hecho me los da. Así que estoy a la espera de otro módulo que parece solucionar este asunto y tener mejores resultados. Por ello en el código de programación no consta la parte dedicada a este elemento.

Se completará cuando reciba el elemento necesario.

Para colocarlo puede imprimirse la siguiente pieza que facilita el anclaje a la tabla de madera.


Presentación de piezas.


Esquema electrónico.

Ten en cuenta que dependiendo de tus necesidades pues cambiar el módulo de SMS por un simple Bluetooth usando los mismos pines y cuya programación no reviste gran complejidad como vimos en otros proyectos.


Código


Modelo 2

En proceso………………………………………..