
Sensor de Flujo
- Sensor de 1/4"
- 0,3 a 6 L/min · 98 pulsos por segundo por cada L/min
- Sensor de 1/2"
- 1 a 30 L/min · 7,5 pulsos por segundo por cada L/min
- Sensor de 3/4"
- 1 a 60 L/min · 5,5 pulsos por segundo por cada L/min
- Sensor de 1"
- 1 a 60 L/min · 4,8 pulsos por segundo por cada L/min
Características
Sensores de flujo (caudal) de agua con turbina: el agua hace girar una pequeña rueda con un imán, y un sensor de efecto Hall entrega pulsos mientras gira. Más agua significa más pulsos por segundo; contándolos, el Arduino calcula los litros por minuto y el total que pasó.
Hay 4 tamaños de conexión: 1/4" (manguera delgada), 1/2", 3/4" y 1". Se usan en dispensadores de agua, control de riego, medición de consumo y máquinas de café.
| Sensor de 1/4" | 0,3 a 6 L/min · 98 pulsos por segundo por cada L/min |
|---|---|
| Sensor de 1/2" | 1 a 30 L/min · 7,5 pulsos por segundo por cada L/min |
| Sensor de 3/4" | 1 a 60 L/min · 5,5 pulsos por segundo por cada L/min |
| Sensor de 1" | 1 a 60 L/min · 4,8 pulsos por segundo por cada L/min |
| Alimentación | 5 a 18 V DC (funciona con los 5 V del Arduino) |
| Precisión | Unos ±10 %; mejora calibrando |
| Cables | Rojo +5 V, negro GND y amarillo señal |
¿Para qué sirve?
- Medir el consumo de agua de una casa o un tanque
- Dispensadores que entregan una cantidad exacta
- Control de riego y máquinas de café
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| rojo | Rojo | 5V | |
| negro | Negro | GND | |
| amarillo | Amarillo | D2 | Pulsos (pin con interrupción) |
Código de prueba
// Prueba del sensor de flujo de agua: cuenta los pulsos de la turbina y
// muestra cada segundo el caudal (litros por minuto) y el total de litros.
const int PIN_SENSOR = 2; // en el UNO debe ser D2 o D3 (tienen interrupción)
// Pulsos por segundo por cada L/min, según el tamaño del sensor:
// 1/4" = 98 1/2" = 7.5 3/4" = 5.5 1" = 4.8
const float FACTOR = 7.5;
volatile unsigned long pulsos = 0;
float litrosTotales = 0;
unsigned long ultimo = 0;
void contarPulso() {
pulsos++;
}
void setup() {
Serial.begin(9600);
pinMode(PIN_SENSOR, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(PIN_SENSOR), contarPulso, FALLING);
}
void loop() {
if (millis() - ultimo < 1000) return; // calcula una vez por segundo
ultimo = millis();
noInterrupts(); // copia el contador sin que cambie a medias
unsigned long cuenta = pulsos;
pulsos = 0;
interrupts();
float caudal = cuenta / FACTOR; // pulsos en 1 segundo ÷ factor = L/min
litrosTotales += caudal / 60.0; // lo que pasó en este segundo
Serial.print("Caudal: ");
Serial.print(caudal, 2);
Serial.print(" L/min Total: ");
Serial.print(litrosTotales, 3);
Serial.println(" L");
}
Cambia FACTOR según el tamaño de tu sensor y abre el Monitor serie a 9600 baudios. Para más precisión, llena un recipiente de volumen conocido (por ejemplo 1 litro) y ajusta FACTOR hasta que el total coincida.
Precauciones
- Instálalo siguiendo la flecha del cuerpo, que indica el sentido del agua.
- Es para agua limpia: la arena o el sarro traban la turbina. Si hace falta, pon un filtro antes.
- Los factores cambian un poco entre fabricantes: calibra con un volumen conocido.
- El de 1/4" debe ir en posición vertical (inclinado 5° como máximo).
- Usa teflón en las roscas y no las aprietes de más: son de plástico.
Fuentes consultadas: Components101: YF-S201 (1/2") · Seeed Studio: sensor de flujo G3/4 · Domoticx: FS400A-G1 (1") · TinyTronics: YF-S401 (1/4"). Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.