ESP32 - Detector de Vazamento de Água

Neste tutorial, vamos aprender a usar o ESP32 e um sensor de vazamento de água para detectar vazamentos. O detector de vazamento de água, também chamado de sensor de vazamento de água, ajuda a identificar qualquer presença indesejada de água.

Sobre o Detector de Vazamento de Água

O detector de vazamento de água, também chamado de sensor de vazamento de água, ajuda a identificar qualquer presença indesejada de água, permitindo a detecção precoce e evitando possíveis danos.

Pinagem do Detector de Vazamento de Água

O detector de vazamento de água tem dois fios:

Water Leak Sensor Pinout

Assim como um interruptor ou um botão, não precisamos distinguir os dois fios do detector de vazamento de água.

Como o Detector de Vazamento de Água Funciona

Quando há água, o circuito fecha. Quando não há água, o circuito fica aberto.

Para usar o detector de vazamento de água com um ESP32, conecte um fio ao GND e o outro fio a um pino de entrada do ESP32 configurado como entrada digital com pull-up. Quando há água, o pino do ESP32 lê o valor LOW. Quando não há água, o pino do ESP32 lê o valor HIGH.

※ Nota:

O detector de vazamento de água não funciona com água "não condutiva", como a água pura. Porém, podemos fazê-lo funcionar espalhando um pouco de sal perto do local do sensor. A água absorve o sal, que ioniza a água pura e a torna condutiva.

Diagrama de Ligação entre o Detector de Vazamento de Água e o ESP32

The wiring diagram between ESP32 water leak detector

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Como Programar o ESP32 para Ler o Valor do Detector de Vazamento de Água

  • Inicialize o pino do ESP32 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino GPIO19
pinMode(19, INPUT_PULLUP);
  • Leia o estado do pino do ESP32 usando a função digitalRead().
int water_state = digitalRead(19);

Código ESP32 - Detectando Vazamento de Água

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-water-leak-detector */ #define WATER_SENSOR_PIN 19 // ESP32 pin GPIO19 connected to water sensor's pin int water_state; // current state of water sensor int prev_water_state; // previous state of water sensor void setup() { Serial.begin(9600); pinMode(WATER_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode water_state = digitalRead(WATER_SENSOR_PIN); // read state } void loop() { prev_water_state = water_state; // save the last state water_state = digitalRead(WATER_SENSOR_PIN); // read new state if (prev_water_state == HIGH && water_state == LOW) { Serial.println("Water leakage is detected!"); } }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 na Arduino IDE.
  • Copie o código acima e cole na Arduino IDE.
  • Compile e faça o upload do código para a placa ESP32 clicando no botão Upload da Arduino IDE
  • Derrame um pouco de água perto do detector de vazamento de água.
  • Veja o resultado no Serial Monitor. Ele fica parecido com o abaixo.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The water leak is detected The water leak is detected
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!