Arduino Nano ESP32 - Sensor de Agua
Este tutorial proporciona instrucciones sobre cómo usar Arduino Nano ESP32 y un sensor de agua para detectar lluvia, fugas de agua, desbordamiento de un tanque y medir el nivel de agua.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor de nivel de agua
Diagrama de pines del sensor de nivel de agua
El sensor de nivel de agua incluye tres pines:
- Pin S (Señal): Este pin emite una tensión analógica que es proporcional al nivel de agua. Este pin debe conectarse a un pin de entrada analógica del Arduino Nano ESP32.
- Pin + (VCC): Conecta este pin a 3.3V o 5V.
- Pin - (GND): Conecta este pin a GND.

Cómo funciona el sensor de nivel de agua
Simplemente, cuanto más agua esté sumergido el sensor, mayor es la tensión de salida en el pin S. Al medir la tensión, podemos conocer el nivel de agua.
Diagrama de Cableado
En teoría, podemos suministrar energía al sensor de agua conectando los pines VCC y GND del sensor a los pines 3.3V y GND del ESP32, respectivamente.
Sin embargo, ese enfoque no se recomienda en la práctica. Si suministramos energía al sensor de agua de forma constante, el sensor de agua se corroe electroquímicamente más rápido debido al entorno húmedo. Por lo tanto, es mejor proporcionar energía al sensor de agua solo y únicamente cuando se lea el valor del sensor. Para ello, podemos conectar el pin VCC del sensor al pin digital de un ESP32 y programar el pin del ESP32 para que esté en HIGH antes de leer y en LOW después de leer.

This image is created using Fritzing. Click to enlarge image
Código para Arduino Nano ESP32 - Lectura de valor de un sensor de agua
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Copia el código anterior y pégalo en Arduino IDE.
- Compila y carga el código en la placa Arduino Nano ESP32 haciendo clic en el botón Upload en Arduino IDE
- Introduce lentamente el sensor en el agua (un vaso de agua).
- Mira el resultado en el Monitor de serie. Se ve lo siguiente: El valor es 0 cuando el sensor no está tocando nada.
※ Nota:
El sensor de agua no está diseñado para estar completamente sumergido; solo las trazas expuestas en la PCB pueden estar en contacto con el agua. Por favor, tenga cuidado al instalarlo.
Cómo detectar fugas de agua
Para detectar la fuga de agua, la lluvia y el desbordamiento del tanque, solo necesitamos comparar el valor del sensor con un umbral. El umbral se determina en la parte de calibración de este tutorial.
Hagamos que el Arduino Nano ESP32 encienda un LED si se detecta una fuga de agua.
Diagrama de cableado

This image is created using Fritzing. Click to enlarge image
Código de Arduino Nano ESP32 - Detección de fuga de agua
Cómo medir el nivel de agua
El código de abajo divide el nivel de agua en cuatro niveles.
※ Nota:
- SENSOR_MIN y SENSOR_MAX son determinados por el proceso de calibración.
- El método de mapeo anterior no es preciso. Sin embargo, es aceptable en muchas aplicaciones.
Calibración del sensor de nivel de agua
Vea cómo calibrar el sensor de nivel de agua
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico a Digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que necesiten mediciones precisas, tenga en cuenta lo siguiente:
- El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
- La calibración puede ser desafiante, especialmente para principiantes, y puede que no siempre produzca los resultados exactos que deseas.
Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más confiable. Si aún deseas calibrar el ADC del Arduino Nano ESP32, consulta el 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.