Unas de las múltiples prestaciones que tiene el concepto de automatización, es el de despreocuparse del trabajo que realmente no requiera de la intervención nuestra: y este ejemplo es manifiesto, ya que tener un invernadero implica muchos cuidados que sólo nosotros podemos realizar, y cada uno tiene su método, pero el riego no es algo que realmente requiera de nuestra intervención, ya que con abrir la canilla basta y sobra, y luego de realizar el “mantenimiento” de las plantas, queda sólo regarlo, y automatizar ese proceso nos ahorra tiempo y ayuda, además, a una mejor gestión del uso del agua.
Hay diferentes módulos en el mercado que se encarga de realizar un riego automático, pero en este caso, éste se integra a Home Assistant, y su costo baja considerablemente.
Lo que vamos a hacer es lo siguiente:
- instalar un sistema de riego
- obtener la temperatura y humedad ambiental del invernadero
- obtener la humedad de suelo
- automatizar el riego
Para esto necesitaremos:







Este es el circuito

La fuente recibe 220 voltios y la transforma en 5 voltios que es el voltaje con el que trabaja el esp8266, el relé, el sensor capacitivo, el sensor de temperatura y humedad y el sensor de humedad de suelo. La electroválvula trabaja con 220V (es la utilizada en los lavarropas convencionales).
Las conexiones al esp8266 son las siguientes:
- sensor temperatura y humedad DHT22 en D6
- relé en D7
- sensor capacitivo TTP223 en D0
- sensor humedad de suelo HL-69 en D5
La electroválvula recibe energía desde el relé que cierra el circuito, para así dejar pasar el agua.
El sensor de humedad de suelo consta de una plaqueta de donde vamos a obtener lo valores y una horquilla que se conecta con la plaqueta para efectuar la medición.
La plaqueta tiene un regulador (ajuste sensibilidad) que envía un pulso cuando la humedad que hay en el suelo es la suficiente para conducir la corriente entre las paletas de la horquilla, ese regulador se encuentra en la plaqueta que acompaña al sensor y se usa cuando conectamos el pin digital D0 al esp8266 (en este caso al D5).
En el caso de que queramos obtener un valor y no un pulso, se conecta el pin A0 al pin analógico del esp8266 (A0), de manera de obtener un valor que va del 0 al 1023.
En este caso, usaremos el pin digital D0 que al dar un pulso, sabremos que nos encontramos con el valor de humedad ajustado anteriormente.
El código para Home Assistant es el siguiente:
esphome:
name: nodo_botanica
platform: ESP8266
board: d1_mini
sensor:
#sensor de temperatura y humedad
- platform: dht
model: DHT22
pin: D6
temperature:
name: "Tempertura ambiental"
humidity:
name: "Humedad ambiental"
update_interval: 2s
#configuración del relé
switch:
- platform: gpio
pin: D7
name: "Válvula de agua"
icon: mdi:valve
id: relay_valvula
#sensor táctil que activa el relé
binary_sensor:
- platform: gpio
pin:
number: D0
mode: INPUT_PULLUP
name: "Táctil en válvula"
id: sensor_1
on_state:
then:
- switch.toggle: relay_valvula
- platform: gpio
pin:
number: D5
mode: INPUT_PULLUP
name: "Sensor de suelo"
id: sensor_suelo
on_state:
if:
condition:
# Same syntax for is_off
binary_sensor.is_on: sensor_suelo
then:
switch.turn_off: relay_valvula
else:
switch.turn_on: relay_valvula
#el resto del código es el perteneciente a la configuración de redes
Teniendo en cuenta los valores de temperatura y humedad ambiental, y de humedad de suelo, se puede determinar si es necesario que comience el riego en caso de estar automatizado, caso contrario, se lo puede activar tanto desde la aplicación como manualmente, es por eso que se le incluye el sensor táctil.