Sensor y Controlador Nivel Fluido Inteligente con Arduino y Ultrasonido HC-SR04
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Sensor ultrasónico HC-SR04 genérico | 1 |
Aplicaciones y servicios
- Arduino IDE
Descripción del proyecto
El diagrama muestra el sensor ultrasónico y Arduino. El modelo construido fue solo para presentación.
Introducción
Los indicadores de nivel se usan en todos los sectores industriales. También podemos implementarlos a pequeña escala o uso doméstico. Hemos construido un sensor de nivel de fluido que proporciona datos continuos: indica cuánto fluido hay en el tanque. El sistema es un sistema de realimentación: no solo informa la cantidad, sino que la controla mediante bomba.
Construcción
El Arduino es el microcontrolador. El sensor HC-SR04 se conecta a Arduino y se monta en la parte superior del tanque. Usé dos bombas sumergibles para el modelo; son unidireccionales (transportan fluido en un solo sentido). Podría usarse una bomba bidireccional para ambas direcciones. Ambas bombas reciben señal del Arduino. Requieren 12V, así que hace falta un driver de motor (no mostrado en el diagrama).
Funcionamiento
Dividimos el modelo en dos secciones:
- Sistema de sensado
- Sistema de control
Sensado
El sensor HC-SR04 trabaja a 40 kHz (ultrasonido >20 kHz). Tiene Transmisor y Receptor. El transmisor emite 40 kHz; la onda rebota en la superficie del fluido y la recibe el receptor. 4 pines: GND a GND Arduino, VCC a 3.3V o 5V. Pin Trigger inicia la emisión; pin Echo recibe el eco. Medimos el tiempo y lo convertimos en distancia:
duration = pulseIn(echoPin, HIGH); // tiempo en µs
distance = duration * 0.034 / 2; // distancia en cm
Sistema de control
Arduino recibe datos del sensor y envía señales a las bombas. Definimos un nivel umbral en el código. Si el nivel supera el umbral, la bomba del tanque se activa y extrae fluido hasta bajar del umbral. Si el nivel cae por debajo, la bomba del depósito bombea fluido al tanque. En la práctica se usa el tanque y una sola bomba.
Mejoras futuras
- Usar bomba bidireccional externa al tanque (solo una bomba).
- Mostrar resultados en pantalla OLED o LCD.
- Almacenar datos en la nube vía IoT.
- Controlar y consultar nivel desde app móvil vía IoT.
- Añadir zumbador seguridad contra desbordamiento; modificar código para evitar rebose.
Código
Controlador nivel agua (Arduino)
int tankPump = 3;
int reserviorPump = 2;
int trigPin = 9; // blanco
int echoPin = 10; // marrón
long duration;
int distance;
void setup() {
Serial.begin(9600);
pinMode(tankPump, OUTPUT);
pinMode(reserviorPump, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
ultrasound();
pump();
}
void ultrasound() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance:"); Serial.println(distance);
delay(1000);
}
void pump() {
if (distance > 10) { // nivel bajo -> llenar
digitalWrite(tankPump, HIGH);
digitalWrite(reserviorPump, LOW);
} else {
digitalWrite(tankPump, LOW);
}
if (distance < 6) { // nivel alto -> vaciar
digitalWrite(reserviorPump, HIGH);
digitalWrite(tankPump, LOW);
} else {
digitalWrite(reserviorPump, LOW);
}
}
Esquemáticos
Proceso de manufactura
- Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
- Construya un Sistema de Monitorización de Temperatura y Luz Multi‑Sensor con Raspberry Pi y DS18B20
- Control de sensores y actuadores con Raspberry Pi: acelerómetro, servo y streaming de datos
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Verifica y calibra tu sensor de humedad para mediciones precisas
- Monitorización Precisa de Temperatura y Humedad con SHT15 en Windows 10 IoT Core
- Líquido de Transmisión Explicado: Propósito, Importancia y Guía de Mantenimiento
- Sensor de Presión Arterial: Funcionamiento y Aplicaciones Clave
- Sensores de Voltaje: Funcionamiento y Aplicaciones Clave en Sistemas de Potencia Modernos
- Sensores para Arduino: Tipos, Aplicaciones y Proyectos Reales
- Tecnología de Sensores de Huella Dactilar: Principios, Aplicaciones e Integración con Arduino