Introduction
The Water Flow sensor measures the rate of a liquid flowing through it. The YF-S401 water flow sensor consists of a plastic valve body, flow rotor and hall effect sensor. It is usually used at the inlet end to detect the amount of flow. When liquid flows through the sensor, a magnetic rotor will rotate and the rate of rotation will vary with the rate of flow. The hall effect sensor will then output a pulse width signal. Connect it to a microcontroller and you can monitor multiple devices such as your coffee maker, sprinkler or anything else, and control the water flow rate to suit your needs!
- A 6 mm hose is recommended
- Avoid unit contact with corrosive chemicals
- The unit must be installed vertically, tilted no more than 5 degrees
- Liquid temperature should be less than 120 C to avoid damage to unit
Specification
- Inner Diameter: 4 mm
- Outside diameter: 7 mm
- Proof Water Pressure: <0.8 MPa
- Water Flow Range: 0.3-6 L/min
- Voltage Range: 5~12 V
- Operating Current: 15 mA (DC 5V)
- Insulation Resistance: >100 MΩ
- Accuracy: ±5% (0.3-3L/min)
- The Output Pulse High Level: >4.5 VDC (DC input voltage 5 V)
- The Output Pulse Low Level: <0.5 VDC (DC input voltage 5 V)
- Output Pulse Duty Ratio: 50% ± 10%
- Water-flow Formula: 1L = 5880 square waves
- Working Humidity Range: 35% ~ 90% RH (no frost)
- Dimension: 58*35*26 mm/2.28*1.37*1.02 inches
- Weight: 30g
Board Overview
Number | Color | Name | Description |
---|---|---|---|
1 | Green | Signal | Pulse Signal |
2 | Red | VCC | 5~12V |
3 | Black | GND | GND |
Pulse Signal
Tutorial
In this Tutorial, we'll measure liquid flow using this sensor.
Requirements
Hardware
- DFRduino UNO R3
- Water flow sensor
- Jumper Wires
Software
- Arduino IDE, Click to Download Arduino IDE from Arduino®
Connection Diagram
Sample Code
/*!
* @file SEN0216.ino
* @brief This example reads Water flow sensor Sensor.
* @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author berinie Chen <bernie.chen@dfrobot.com>
* @version V1.0
* @date 2016-3-13
*/
/***********Notice and Trouble shooting***************
1.This code is tested on Arduino Uno.
****************************************************/
volatile double waterFlow;
void setup()
{
Serial.begin(9600); //baudrate
waterFlow = 0;
attachInterrupt(0, pulse, RISING); //DIGITAL Pin 2: Interrupt 0
}
void loop()
{
Serial.print("waterFlow:");
Serial.print(waterFlow);
Serial.println(" L");
delay(500);
}
void pulse() //measure the quantity of square wave
{
waterFlow += 1.0 / 5880.0;
}
FAQ
Q&A | Some general Arduino Problems/FAQ/Tips |
---|---|
A | For any questions, advice or cool ideas to share, please visit the DFRobot Forum. |