Arduino - Sensor de Agua
El sensor de agua o el sensor de nivel de agua se utiliza para detectar fugas de agua, lluvia, desbordamiento del tanque, o para medir el nivel de agua. En este tutorial, aprenderemos:
- Cómo usar el sensor de agua con Arduino
- Cómo conectar el sensor de agua al Arduino
- Cómo programar Arduino para leer el estado del sensor de agua
- Cómo detectar fugas de agua, lluvia y desbordamiento del tanque
- Cómo medir el nivel de agua
- Cómo calibrar el sensor de agua
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del Sensor de Nivel de Agua
Pinout del sensor de nivel de agua
El sensor de nivel de agua tiene 3 pines:
- Pin S (Señal): es una salida analógica que se conectará a una de las entradas analógicas de tu Arduino.
- Pin + (VCC): suministra energía al sensor. Se recomienda alimentar el sensor con entre 3.3 V y 5 V.
- Pin - (GND): es una conexión a tierra.

※ Nota:
El valor de salida analógica en el pin de señal varía en función del voltaje suministrado al pin VCC del sensor.
Cómo funciona un sensor de nivel de agua
Simplemente, cuanto más agua esté sumergido el sensor, mayor será la tensión de salida en el pin de señal.
Veamos más a fondo.
El sensor tiene una serie de diez trazas de cobre expuestas. Cinco son trazas de alimentación y cinco son trazas de detección. Estas trazas están entrelazadas en paralelo, de modo que hay una traza de detección entre cada par de trazas de alimentación. Estas trazas no se conectan entre sí a menos que el agua las una al estar sumergidas.
Las trazas actúan como una resistencia variable (tal como un potenciómetro) cuya resistencia varía según el nivel de agua.
- El cambio en la resistencia corresponde a la distancia desde la parte superior del sensor hasta la superficie del agua.
- La resistencia es inversamente proporcional a la altura del agua.
- Cuanto más agua esté presente en el sensor, mejor será la conductividad y menor será la resistencia.
- Cuanto menos agua esté presente en el sensor, peor será la conductividad y mayor será la resistencia.
- El sensor produce una salida de voltaje de acuerdo con la resistencia.
Al medir la tensión, podemos determinar el nivel de agua.
Diagrama de Cableado
En teoría, para suministrar energía al sensor, podemos conectar los pines VCC y GND del sensor a los pines 5V y GND del Arduino, respectivamente.
Sin embargo, en la práctica, ese enfoque no se recomienda. Ya que en un entorno húmedo, si proporcionamos energía al sensor de forma constante, el sensor se corroe electroquímicamente más rápido. Esto acorta la vida útil del sensor. Para superar este problema, le recomendamos no alimentar el sensor todo el tiempo, sino alimentar el sensor solo cuando se esté leyendo su valor. Esto se puede hacer conectando el pin VCC del sensor a un pin digital de un Arduino, y configurando el pin del Arduino en HIGH y LOW, respectivamente, antes y después de la lectura.

This image is created using Fritzing. Click to enlarge image
Código de Arduino - Lectura del valor del sensor de agua
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para cargar el código en Arduino
- Sumerge lentamente el sensor en el agua (un vaso de agua).
- Mira el resultado en el Monitor Serial. El valor es 0 cuando el sensor no está tocando nada.
※ Nota:
El sensor no está diseñado para estar completamente sumergido. Solo las pistas expuestas en la placa de circuito impreso pueden entrar en contacto con el agua. Por favor, tenga cuidado al instalarlo.
Cómo detectar fugas de agua
Para detectar las fugas de agua, la lluvia y el desbordamiento del tanque, solo necesitamos comparar el valor de lectura con un valor umbral. El umbral se determina en la parte de calibración de este tutorial.
Tomemos un ejemplo concreto. Arduino enciende un LED si se detecta agua.
Diagrama de cableado

This image is created using Fritzing. Click to enlarge image
Código de Arduino - Detección de fugas de agua
Cómo medir el nivel del agua
Si quieres dividir la altura máxima del agua en varios niveles y medir el nivel actual, puedes usar el método que se muestra en el código que aparece a continuación. Ten en cuenta que la altura máxima del agua es igual a la altura del sensor. El código que se muestra a continuación divide la altura máxima en 4 niveles.
※ Nota:
- SENSOR_MIN y SENSOR_MAX están determinados por el proceso de calibración.
- El método de mapeo anterior no es preciso. Sin embargo, es aceptable en muchas aplicaciones. Si desea hacerlo más preciso, puede medir los valores de umbral para cada nivel. Consulte la sección de calibración.
Calibración del sensor de nivel de agua
El valor de salida del sensor depende no solo del nivel del agua, sino también de la conductividad del agua. El agua pura no es conductiva. El agua contiene minerales e impurezas y es conductiva. Cuanto más conductiva sea el agua, más sensible será el sensor. Por otro lado, el valor de salida también varía dependiendo de la tensión suministrada al pin VCC del sensor.
Para obtener lecturas precisas del sensor de agua, le recomendamos calibrar el sensor para el tipo de agua en particular que planea monitorizar.
Antes de determinar el umbral para activar una acción, debes medir el valor real leído por el sensor realizando una prueba.
Cómo hacer la prueba:
- Utiliza el boceto anterior para leer el valor del sensor.
- Sumerge el sensor en el agua al nivel que quieras que sirva como umbral.
- Anota el valor que muestra el sensor en el Monitor Serial.
- Utiliza ese valor como umbral para activar la acción que tengas prevista.
Esta prueba puede requerir algo de ensayo y error.
La prueba también puede usarse para encontrar:
- Valor de SENSOR_MIN, cuando el sensor no está inmerso en el agua
- Valor de SENSOR_MAX, cuando el sensor está completamente inmerso en el agua
- Un valor umbral para detectar fugas de agua
- Los valores umbrales para cada nivel de tu escala de grados
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.
Desafíate a ti mismo
- Envía un correo electrónico cuando se detecte una fuga de agua
- Envía un mensaje SMS cuando se detecte una fuga de agua
- Activa una alarma sonora cuando se detecte una fuga de agua