SEN0217 Gravity: Water Flow Sensor For Arduino

Introduction

The Water Flow sensor measures the rate of a liquid flowing through it. The YF-S201 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 arduino 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 20 mm rifled pipe 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: 11 mm
  • Outside diameter: 20 mm
  • Proof Water Pressure: <1.75 MPa
  • Water Flow Range: 1-30 L/min
  • Voltage Range: 7.5 V
  • Operating Current: 15 mA (DC 5V)
  • Insulation Resistance: >100 MΩ
  • Accuracy: ±5% (2~30L/min)
  • The Output Pulse High Level: >4.7 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 = 450 square waves
  • Working Humidity Range: 25% ~ 95% RH (no frost)
  • Dimension: 62*36*35 mm/2.44*1.37*1.37 inches
  • Weight: 52g

Board Overview

Number Color Name Description
1 Green Signal Pulse Signal
2 Red VCC 5~12V
3 Black GND GND

Pulse Signal

SEN0217 Gravity: Water Flow Sensor For Arduino Pulse Signal

Tutorial

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

Requirements

Connection Diagram

SEN0217 Gravity: Water Flow Sensor For Arduino Connection Diagram

Sample Code

/*!
 * @file  SEN0217.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 / 450.0; // 450 pulses for 1 liter (see product parameters)
}

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