Este é um projeto relativamente fácil de fazer para indicar o nível da caixa d’água (ou outros recipientes e líquidos), utilizando componentes já prontos e fáceis de adquirir, que aproveita para medir também temperatura e umidade.
Para a medição do nível é utilizado um sensor de nível de líquido não invasivo XKC-Y25-NPN.
Este sensor é instalado do lado de fora da caixa d’água, sem necessidade de furos ou outros acessórios auxiliares. Ele consegue detectar o nível da água em praticamente qualquer tipo de caixa não metálica (observar informações do fabricante).
Para envio das informações via wi-fi e integração ao Home Assistant será utilizado um ESP8266 (ESP01).
Para facilidade de ligação do ESP8266 e conexão com o sensor de nível será utilizado um módulo pronto que integra o ESP a um sensor de temperatura e umidade DHT11.
Também aproveita GPIO vaga no mesmo ESP para enviar diversas informações.
Para iniciar siga o tutorial abaixo para instalação da configuração no ESP8266, e integração utilizando ESPHome (é bem simples de fazer).
Apenas substitua por esta configuração:
# Configuração do sensor de temperatura e umidade
sensor:
- platform: dht
pin: 2
temperature:
name: "Caixa - Temperatura"
humidity:
name: "Caixa - Umidade"
update_interval: 60s
# Configuração do sensor de nível d'água da caixa
binary_sensor:
- platform: gpio
pin: 3
name: "Caixa acima da metade"
filters:
- delayed_on: 500ms
Após configurado o ESP8266 como indicado no tutorial acima e já estando informando a temperatura e umidade no Home Assistant, ligue o fio de saída do sinal do sensor de nível de líquido XKC-Y25-NPN ao pino 3 do ESP8266 (indicação abaixo).
Foi utilizada a GPIO3 (pin: 3) devido a GPIO2 (pin: 2) já estar sendo utilizada para envio da temperatura e umidade.
Alimente o sensor de nível de líquido XKC-Y25-NPN com a mesma tensão de 3,3V que está alimentando o módulo DHT11 com ESP8266, pois ele operará normalmente também nesta faixa de tensão.
No Home Assistant poderá verificar as três entidades criadas, como visto abaixo.
Então basta instalar junto a caixa d’água fixando do lado de fora em uma altura que desejar fazer a medição.
No exemplo está medindo o nível da água somente em um ponto da caixa, um pouco acima da metade, desta forma quando o nível estiver abaixo do sensor a indicação mudará de “ligado” para “desligado” indicando que a água está chegando a metade.
Se desejar um projeto mais completo, com medida de caixa cheia e vazia, ou caixa cheia e quase vazia, etc., basta adicionar outro sensor de nível de líquido XKC-Y25-NPN e na configuração do ESP8266 adicionar outro grupo “binary_sensor”.
A partir das entidades criadas basta criar automações, como por exemplo enviar uma mensagem para o smartphone, Telegram ou disparar um alarme, avisando que determinado nível foi atingido.
Adicionalmente deixo algumas informações referente aos componentes para facilidade de ligações.
XKC-Y25-NPN:
Fio marrom: VCC (positivo da alimentação de 3,3V)
Fio azul: GND (negativo da alimentação de 3,3V)
Fio amarelo: OUT (saída de sinal que ligará à GPIO3 do ESP8266)
Fio preto: MODE (nível de saída. Não utilizado neste projeto)
Obs.: Conferir no manual se corresponde ao indicado.
ESP8266 (ESP01):
A GPIO3 corresponde ao RX, onde será conectado o fio de saída (fio amarelo) de sinal do XKC-Y25-NPN.
A GPIO2 já envia pelo módulo a temperatura e umidade.
Simples e funcional!