As described in the article Water Flow Meter Sensor, this sensor can detect the flow of water passing through the sensor.
This sensor has three wires (red, black and yellow). Red cable is connected to VCC. Black cable is connected to GND. And the yellow cable is connected to the arduino data pin (digital pin number 2) but you will need to pull up this cable with a 10k resistor.
Once you finish making the hardware, you should upload this program to the Arduino software IDE.
The program will calculate the flow rate and sends it via the serial port (USB cable). To view the sensors data, you must connect a computer with the Arduino and see it through the terminal on the Arduino IDE software.
Arduino Program Source Code for Water Flow Meter Sensor :
// reading liquid flow rate using Seeeduino and Water Flow Sensor from Seeedstudio.com
// Code adapted by Charles Gantt from PC Fan RPM code written by Crenn @thebestcasescenario.com
// http:/themakersworkbench.com http://thebestcasescenario.com http://seeedstudio.com
volatile int NbTopsFan; //measuring the rising edges of the signal
int hallsensor = 2; //The pin location of the sensor
void rpm () //This is the function that the interupt calls
NbTopsFan++; //This function measures the rising and falling edge of the
hall effect sensors signal
// The setup() method runs once, when the sketch starts
void setup() //
pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input
Serial.begin(9600); //This is the setup function where the serial port is
attachInterrupt(0, rpm, RISING); //and the interrupt is attached
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop ()
NbTopsFan = 0; //Set NbTops to 0 ready for calculations
sei(); //Enables interrupts
delay (1000); //Wait 1 second
cli(); //Disable interrupts
Calc = (NbTopsFan * 60 / 7.5); //(Pulse frequency x 60) / 7.5Q, = flow rate
Serial.print (Calc, DEC); //Prints the number calculated above
Serial.print (” L/hour\r\n”); //Prints “L/hour” and returns a new line