SEN0216 Gravity: Digital Water Flow Sensor For Arduino

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

SEN0216 Gravity: Digital Water Flow Sensor For Arduino Board Overview
Number Color Name Description
1 Green Signal Pulse Signal
2 Red VCC 5~12V
3 Black GND GND

Pulse Signal

SEN0216 Gravity: Digital Water Flow Sensor For Arduino Pulse Signal

Tutorial

In this Tutorial, we'll measure liquid flow using this sensor.

Requirements

Connection Diagram

SEN0216 Gravity: Digital Water Flow Sensor For 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.

More Documentation

CAD File