ESP32 - Sensor de agua - Bomba
En este tutorial, aprenderemos a usar un ESP32 para activar una bomba que drene agua cuando un sensor de agua detecte la presencia de agua. En otras palabras, descubriremos cómo crear un sistema de drenaje automático que utilice un ESP32, un sensor de agua y una bomba.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor de agua y la bomba
Si no conoces el sensor de agua y la bomba (disposición de pines, cómo funciona, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:
- ESP32 - Water Sensor tutorial
- ESP32 - controls pump tutorial
Cómo funciona el sistema de drenaje automático
El ESP32 lee periódicamente el valor del sensor de agua, luego:
- Si el valor es mayor que un umbral predefinido, el ESP32 activa el relé para activar la bomba.
- De lo contrario, el ESP32 apaga la bomba.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Código ESP32
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Haz el cableado como en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa ESP32 adecuada (p. ej. ESP32 Dev Module) y el puerto COM.
- Copia el código anterior y ábrelo con el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP32

- Coloca el sensor de agua dentro del agua
- Mira el estado de la bomba
Explicación del código
Lee la explicación línea por línea en los comentarios del código fuente.
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor de agua. El ADC del ESP32 es adecuado para proyectos que NO requieren alta precisión. Sin embargo, para proyectos que requieren mediciones precisas, tenga en cuenta:
- El ADC del ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede ser un poco diferente, por lo que debe calibrar el ADC para cada placa individual.
- La calibración puede ser difícil, especialmente para principiantes, y podría no dar siempre los resultados exactos que desea.
Para proyectos que requieren alta precisión, considere usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún desea calibrar el ADC del ESP32, consulte ESP32 ADC Calibration Driver
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.