Sistema de irrigação para arvores usando ESP32

Queria compartilhar com vocês um projeto que fiz aqui para irrigar as arvores que tenho em vazos.

A ideia é simples, manter minhas arvores com agua usando solenoides, e sensores de humidade de solo.

Dado custos, preferi so usar uma ESP32 devkit, uma board de 4 rele, 4 solenoides de 110v 3/4, e 3 sensores de umidade de solo.

Os sensores de umidade comprei na aliexpress, os solenoides, achei aqui no brasil por um preço ok, o resto eu ja tinha de outros projetos.

Para parte de agua, usei uma mangueira que tinha aqui em casa, afinal, o projeto ja estava bem custoso, e consegui ligar tudo sem problemas na mangueira, encaixes rapidos para garantir facil remoção para manutenção e vedação.

Todos os fios foram muito bem isolados usando fita isolante, depois uma camada de fita isolante autofusivel, e finalmente silicone para fechar todas as frestas. E levamos os fios para a caixa que ficara com tudo.

Para os sensores de umidade, usei cabos de rede, pois sao facil de conectar em cabos de prototipagem, sao baratos, resistem bem ao tempo, e tinha aqui. Mesma coisa, soldei, isolei, camada de silicone para garantir. E levo para a caixa que fica tudo.

Para energia, um ponto de energia com duas tomadas, uma para o ESP32, e outro para os solenoides.

Segue algumas fotos do projeto.



Depois de instalado nas
arvores:




E claro o dashboard:

Aqui esta o arquivo do ESP32:
esphome:
name: humidade

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable Home Assistant API
api:

ota:

wifi:

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:

# captive_portal:

sensor:
  - platform: adc
    pin: 34
    name: "Humidade do Solo da Amoreira" #1
    update_interval: 5s
    unit_of_measurement: "%"
    attenuation: auto
    filters:
    - median:
        window_size: 7
        send_every: 4
        send_first_at: 1
    - calibrate_linear:
        - 1.1 -> 100
        - 2.5 -> 0
    - lambda: if (x < 1) return 0; else return (x);
    # accuracy_decimals: 0

  - platform: adc
    pin: 35
    name: "Humidade do Solo da Lichia" #2
    update_interval: 5s
    unit_of_measurement: "%"
    attenuation: auto
    filters:
    - median:
        window_size: 7
        send_every: 4
        send_first_at: 1
    - calibrate_linear:
        - 1.1 -> 100
        - 2.5 -> 0
    - lambda: if (x < 1) return 0; else return (x);
    # accuracy_decimals: 0

  - platform: adc
    pin: 32
    name: "Humidade do Solo do Limoeiro" #3
    update_interval: 5s
    unit_of_measurement: "%"
    attenuation: auto
    filters:
    - median:
        window_size: 7
        send_every: 4
        send_first_at: 1
    - calibrate_linear:
        - 1.1 -> 100
        - 2.5 -> 0
    - lambda: if (x < 1) return 0; else return (x);
    # accuracy_decimals: 0
# g33 g25 g26 g27

switch:
  - platform: gpio
    pin: 33
    name: Solenoide da Bomba
    id: solenoide_bomba
    # internal: True
    inverted: True
    restore_mode: ALWAYS_OFF

  - platform: gpio
    pin: 25
    name: Solenoide do Limoeiro
    id: solenoide_limoeiro
    # internal: True
    inverted: True
    restore_mode: ALWAYS_OFF

  - platform: gpio
    pin: 26
    name: Solenoide da Lichia
    id: solenoide_lichia
    # internal: True
    inverted: True
    restore_mode: ALWAYS_OFF

  - platform: gpio
    pin: 27
    name: Solenoide da Amoreira
    id: solenoide_amoreira
    # internal: True
    inverted: True
    restore_mode: ALWAYS_OFF

O que acham? Se tiverem feedback, serei grato!

Olá parabéns pelo projeto! Minha única sugestão é passar a automação do ha I pro esphome

Usando on_value nos sensores:

Dessa maneira mesmo se seu esp tiver problemas de conexão, seu roteador tiver problemas ou ha ficar pronalgum motivo off-line a irrigação continuará funcionando.

1 curtida

Gostei dessa dica, também montei um projeto de irrigação, porém o HA que faz as automacoes, estou coletado dados, esperar ter umas 2 semanas para entender como funciona o sensor de umidade do solo e fazer o ajuste para manter úmido suficiente o solo, tentarei aplicar direto no esphome.