G1/4" Water Flow Sensor
Contents
Description
Water flow sensor consists of magnetic core, rotating impeller, external casing and sensor and a hall-effect sensor. When water flows through the rotor, rotor rolls, it activates the magnetic core to trigger switch action speed changes with different rate of flow. The hall-effect sensor outputs the corresponding pulse signals, users can get the flow speed via detecting the pulse. It is suitable to detect flow in water dispenser or coffee machine.
Model:SOT80014WF
Specification
- Mini. Wokring Voltage: DC 4.5V
- Max. Working Current: 15mA (DC 5V)
- Working Voltage: DC 5V~24V
- Flow Rate Range: 0.3~6L/min
- Load Capacity: ≤10mA (DC 5V)
- Operating Temperature: ≤80℃
- Liquid Temperature: ≤120℃
- Operating Humidity: 35%~90%RH
- Water Pressure: ≤2.0MPa
- Storage Temperature: -25~+ 80℃
- Storage Humidity: 25%~95%RH
Usagee
Reading Water Flow rate with Water Flow Sensor
Hardware Installation
You will need Crowduino / Arduino ,Water Flow Sensor,10K resistor,a breadboard and some jumper wires.
Wiring up the Water Flow Sensor is pretty simple. There are 3 wires: Black, Red, and Yellow.
Black to the Crowduino's ground pin
Red to Seeeduino's 5v pin
The yellow wire will need to be connected to a 10k pull up resistor.and then to pin 2 on the Crowduino.
Here is a fritzing diagram I made to show you how to wire it all up.
Once you have it wired up you will need to upload the following code to your Crowduino. Once it is uploaded and you have some fluid flowing through the Water Flow Sensor, you can open the serial monitor and it will display the flow rate, refreshing every second.
Programming
// reading liquid flow rate using Crowduino and Water Flow Sensor volatile int NbTopsFan; //measuring the rising edges of the signal int Calc; int WaterFlowsensor = 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 } void setup() { pinMode(WaterFlowsensor, INPUT); //initializes digital pin 2 as an input Serial.begin(9600); //This is the setup function where the serial port is initialised, 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 / 73); //(Pulse frequency x 60) / 73Q, = flow rate in L/hour Serial.print (Calc, DEC); //Prints the number calculated above Serial.print (" L/hour\r\n"); //Prints "L/hour" and returns a new line }