How to read a frequency output with arduino

I have a flowmeter. The output is 80 Hz-5.3 Hz, represents that 30GPM to 2 GPM. the input of the sensor is 5V-18V. The user guide says, The sensor uses a paddlewheel-like rotor whose motion is converted into a high-level square wave pulse output by an open collector Hall Effect sensor. Pulse amplitudes from 5 to 18V are possible, depending on input power. When powered by the FPW-5, 5 Vdc wall socket converter, the sensor has a TTL level pulse output which can be used with a variety of pulse input flow indicators, signal conditioners and controllers. Also, For systems without an internal pull-up resistor (such as the DPF70 series panel meter), a nominal 10,000[ch937], 1[ch8260]4 watt resistor must be installed between the red and white wires. If 5 Vdc power is supplied, the output signal will be TTL level, which is compatible with a wide variety of computer interface equipment that accepts TTL level pulse input.

How could I wire the circuit to arduino and read the data ???

You can do this in two ways, time the period of one pulse using pulse in or take a fixed time like 5 seconds and count how many pulses you get in that time. Look at the blink without delay to see how to do things at fixed time intervals.

It looks like if you power the thing with 5v you're home and hosed. Run the ouput (white wire?) into a digital input. enable the pull up resistor, and count or time as Grumpy said.

BTW, can you point me to the flow meter, I'm always looking for new sensors.


Is anyone know how to program these? here is the information of my sensor.

How to read a frequency output with arduino

Is anyone know how to program these?

From the PDF yhis is how to connect the hardware

The FP7001A has the following connections: FLOW SENSOR CONNECTIONS BLACK GROUND (for both pulse output and for DC power input) RED 5-18 Vdc (power input) WHITE FREQUENCY SIGNAL OUTPUT (high)


And the reading of the pulses for volume can be similar to how I made a KWH meter. You need to change the "pulses to volume factor" in the code.

The temperature sensor can be read like I think, but be carefull use 5 Volt to drive the device otherwise you could end up having more than 5 Volt on your analog in port. Arduino's don't like that.

Hopes this helps