Cómo controlar el llenado y rebalse de un estanque de agua usando un sensor de presión diferencial
Cómo controlar el llenado y rebalse de un estanque de agua usando un sensor de presión diferencial
En muchas aplicaciones industriales, domésticas o agrícolas, es necesario conocer y controlar el nivel de agua en un contenedor o estanque. Tradicionalmente esto se ha hecho con flotadores o sensores de contacto, pero existe una alternativa más precisa y electrónica: los sensores de presión diferencial como los fabricados por CF Sensor.
En este artículo aprenderás cómo funcionan, cómo se pueden adaptar a un sistema de control de llenado, y cómo integrarlos con Arduino o ESP32.
¿Qué es un sensor de presión diferencial?
Un sensor de presión diferencial mide la diferencia de presión entre dos puntos, generando una señal eléctrica proporcional a esa diferencia. Estos sensores se montan directamente sobre una placa (board mount) y pueden tener salidas analógicas o digitales (I2C, SPI).
En un estanque, la presión en el fondo del contenedor aumenta a medida que el nivel de agua sube, lo que puede ser detectado por el sensor.
Cómo se usa para medir el nivel de agua
Opción 1: Tubo conectado al fondo del estanque
- Se conecta un tubo delgado desde el fondo del tanque al puerto positivo (P1) del sensor.
- El puerto negativo (P2) se deja abierto al aire.
- A medida que sube el nivel del agua, la presión hidrostática en el fondo aumenta y el sensor lo detecta.
Fórmula:
Presión (Pa) = densidad × g × altura
1 metro de altura de agua ≈ 98 mbar (9800 Pa)
Ventajas de usar sensores de presión
- ✅ No hay partes móviles (más durabilidad)
- ✅ Lectura precisa y continua
- ✅ Ideal para tanques cerrados o sucios
- ✅ Fácil de conectar a sistemas automáticos o inalámbricos
- ✅ Compatible con Arduino, ESP32, PLC, etc.
Proyecto básico con Arduino
Materiales:
- Sensor de presión diferencial (salida analógica)
- Arduino UNO o ESP32
- Tubo delgado transparente
- Estanque o botella para prueba
- Fuente de 5V
Esquema de conexión:
- Salida del sensor → A0 del Arduino
- Vcc del sensor → 5V
- GND → GND
Código ejemplo:
int sensorPin = A0;
float voltaje, presion_kPa, nivel_cm;
void setup() {
Serial.begin(9600);
}
void loop() {
int lectura = analogRead(sensorPin);
voltaje = lectura * (5.0 / 1023.0); // Conversión a voltaje
presion_kPa = (voltaje - 0.5) * 100; // Sensor de 0.5–4.5V = 0–100 kPa
nivel_cm = presion_kPa * 10.2; // 1 kPa ≈ 10.2 cm de agua
Serial.print("Nivel de agua estimado: ");
Serial.print(nivel_cm);
Serial.println(" cm");
delay(1000);
}
¿Qué puedes hacer con la lectura?
- 🚿 Cortar el agua automáticamente si el nivel llega al máximo.
- ⚠️ Activar una alarma de rebalse.
- 📱 Enviar datos a tu celular usando un ESP32 con WiFi.
- 📊 Visualizar en pantalla OLED el nivel del tanque.
Consideraciones finales
Este tipo de sensor puede reemplazar métodos más antiguos como flotadores o sensores de varilla, ofreciendo una solución electrónica más precisa, limpia y duradera.
Si trabajas con sistemas solares, sistemas de riego o proyectos domóticos, esta puede ser una forma moderna y confiable de controlar tus depósitos de agua.
¿Quieres llevar este proyecto al siguiente nivel?
En próximos artículos te enseñaremos cómo:
- Enviar alertas por WiFi usando ESP32
- Controlar bombas o electroválvulas automáticamente
- Calibrar el sensor para distintos tamaños de contenedor
Automatización – Proyectos Arduino – Sensores
sensor de presión diferencial, medir nivel de agua, rebalse, CF Sensor, Arduino, ESP32, estanque de agua, automatización, control de nivel