ESP32 - Sensor de Água - Bomba
Neste tutorial, vamos aprender a usar um ESP32 para ativar uma bomba que drena a água quando ela é detectada por um sensor de água. Em outras palavras, vamos descobrir como criar um sistema de drenagem automático usando um ESP32, um sensor de água e uma bomba
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Água e a Bomba
Se você não conhece o sensor de água e a bomba (pinagem, como funcionam, como programar...), aprenda sobre eles nos tutoriais a seguir:
- Tutorial ESP32 - Sensor de Água
- Tutorial ESP32 - Controlando a Bomba
Como o Sistema de Drenagem Automático Funciona
O ESP32 lê periodicamente o valor do sensor de água e então:
- Se o valor for maior que um limite predefinido, o ESP32 liga o relé para ativar a bomba.
- Caso contrário, o ESP32 desliga a bomba.
Diagrama de Ligação

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.
Código ESP32
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 na Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo micro USB
- Abra a Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Copie o código acima e abra na Arduino IDE
- Clique no botão Upload da Arduino IDE para fazer o upload do código para o ESP32

- Coloque o sensor de água na água
- Veja o estado da bomba
Explicação do Código
Leia a explicação linha por linha nos comentários do código-fonte!
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor de água. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. Porém, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para dar resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC de cada placa individualmente.
- A calibração pode ser difícil, principalmente para iniciantes, e nem sempre dá o resultado exato que você quer.
Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, o ADS1115) com o ESP32, ou usar um Arduino, que tem um ADC mais confiável. Se mesmo assim você quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver