Olá galera do DIY = Faça você mesmo!
Hoje mostrarei para vocês como criar um dispositivo no esp8266 para controlar o seu jardim medindo a umidade e regando automaticamente o seu jardim através de uma automação.
Itens necessários:
1 Esp8266
1 Sensor capacitivo de solo
1 Válvula solenóide
1 Relê para automação arduino
Foto do sensor capacitivo:
Link aqui: (https://produto.mercadolivre.com.br/MLB-2114560369-sensor-de-umidade-do-solo-capacitivo-p-arduino-esp32-_JM
Foto da válvula solenóide:
Link aqui: https://produto.mercadolivre.com.br/MLB-1482846470-valvula-solenoide-220v-180-12-x-12-va-03-para-arduino-_JM
Instalação:
Crie um novo dispositivo no ESPHome com o nome que você deseja.
Para saber mais como instalar e configurar o ESPHome no Home Assistant, veja aqui: EspHome
Realizada esta etapa, desligue o Esp8266 do cabo de programação e faça as ligações do dispositivo no Esp8266
Esquema de ligação do sensor de umidade:
O sensor de umidade tem 3 fios, sendo:
1 positivo (preto)
1 negativo (vermelho) e
1 dados analógico (amarelo)
Ligar o positivo no 3V do seu esp
Ligar o negativo no gnd do seu esp e
Ligar o de dados na entrada analógica A0 do seu esp.
Foto da ligação do sensor capacitivo de umidade no ESP8266:
Esquema de ligação do relê:
Ligar o gnd do relê no gnd do esp
Ligar o positivo no Vcc/Vin do esp e
Ligar o dados no gpio 5 (D1) do esp
Esquema de ligação da válvula solenóide:
No meu caso a válvula solenóide é 220V então eu utilizei 2 relês (um para cada fase). Mas esqueça essa parte e vamos exemplificar melhor aqui.
Pegue um plugue qualquer que será ligado numa tomada e (obviamente antes de ligá-lo na tomada) conforme a figura abaixo:
Ligue um fio da tomada na válvula solenóide e o outro fio da tomada no relê.
Depois ligue um fio no contato do relê quando acionado e a outra ponta no outro contato da válvula solenóide.
Feito o esquema de ligação, basta carregar o código no EspHome logo abaixo da linha captive_portal:
captive_portal:
sensor:
- platform: adc
pin: A0
name: "Sensor de umidade"
update_interval: 5s
unit_of_measurement: "%"
filters:
# - median:
# window_size: 21
# send_every: 4
# send_first_at: 1
- calibrate_linear:
- 0.01367 -> 100.00
- 0.01660 -> 0.00
- lambda: |
if (x < 0) return 0;
else if (x > 100) return 100;
else return (x);
accuracy_decimals: 4
switch:
- platform: gpio
pin: D5
id: rele_irrigacao
name: "Irrigação"
inverted: true
Agora salve o código, ligue novamente o ESPHome no cabo e instale as alterações.
Após esta etapa, você poderá verificar no log do console do EspHome os valores do pino A0 que é o sensor da umidade.
Para testar corretamente pegue um vaso com terra seca e insira a ponta do sensor dentro da terra.
Verifique no log a medição com a terra seca e depois umideça o vaso com água e veja o percentual de umidade aumentar.
Se quiser calibar melhor o sensor, comente as linhas do código abaixo e recompile.
#- calibrate_linear:
# - 0.01367 -> 100.00
# - 0.01660 -> 0.00
#- lambda: |
# if (x < 0) return 0;
# else if (x > 100) return 100;
# else return (x);
Desse modo, você terá os valores corretos e deverá remover o comentário e alterar os valores. No meu caso usei para 100% úmido (0.01367) e 0% seco (0.01660)
Agora podemos criar no Home Assistant, por exemplo, uma automação para que caso esse sensor de umidade esteja abaixo de 50%, ele ligue alguma coisa por um determinado tempo.
Como sugestão, eu faço a checagem às 11h00 e se o sensor estiver abaixo de 50% eu ligo o relê Irrigação por 2 minutos.
OBS: A válvula solenóide tem uma setinha que indica a saída da água. Verifique isso antes de instalar. Você pode ligar na saída da válvula um cano pvc cheio de furos para a água escoar por esse cano furado ou colocar um regador giratório de jardim, por exemplo.
Pronto, é isso pessoal. Gostou deste tutorial? Então deixa seu comentário, dúvida ou sugestão aí embaixo!