Flow meter

I am trying to build a prototype with an arduino and a flow meter, I have used the link below to show me how to build all of it. I have uploaded the script fine and built the circuit according to the diagram but when I open the serial monitor and put a flow through the flow meter the reading does not change, it stays at 0 L/hour. Any ideas why it is not picking up any readings?

volatile int NbTopsFan; //measuring the rising edges of the signal
int Calc;
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 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 / 7.5); //(Pulse frequency x 60) / 7.5Q, = 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



Hi Sarah

To me the sketch looks ok but looking at the breadboard in Your link it seems to me that the yellow wire (signal) is connected to the positive rail ?


Hi Magnus

I've attached pics of my breadboard, do you think something needs to be moved then?



As Magic says the Fritzing image does not look right. Ground (Black) from the sensor is connected to nothing. VCC (Red) is connected to arduino ground and Signal (yellow) is connected to arduino 5V.

Try connecting the Red & Black sensor wires directly to the relevant breadboard power rails and the yellow sensor wire direct to the relevant end of the resistor on the breadboard.

Thank-you both so very much! It worked straight away once I changed the wires around.