Note:
This code reading rpm with 2 propeller at the motor. This mean 2 cut of the infrared beam will count as 1 revolution. You can modify this line to suit your use;
rpm = 30*1000/(millis() – timeold)*rpmcount;

I´m sorry i don´t speak english very well, but i´m try to explain my question…
in the display i can´t see RPM=0..
i did everything you said on the page,, but the program, not working..
could you help me please??

I have a moron question. First time, i put the Vcc cable to the wrong pin (to the led’s ground pin), and i turned on the transmitter. Did i spoiled the recevier? Because the receiver send the 1 for any changes (turn on/turn off the transmitter ) after the correction, what i saw on this page(thanks 🙂 )

So I tried out the tachometer this morning after I finished it and the phototransistor wouldn’t work. I know it works because I performed a few tests on it and it was fine. I’m thinking it was in the way it was hooked up to the arduino. Can someone please help me?

i implemented a device slimier to your device ,but the problem is some times rmp value is a very high wrong value . need an advice i have used ir reflective sensor digital output as a interrupt signal .

First, thanks for your sharing RPM counter tutorial.
I have a question and suggestion that needs your help.
The RPM counter can just count the fixed qty “2 propellers”.
If I want to design a device with buttons to input the quantity of propeller and the value can be showed in the LCD then it can count the correct RPM.
How to modify this program and the layout on PCB?
Another question, how about the IR LED interception rate with your program by now?

I got the code to verify and upload fine with a Nano. The device sort of works, but the rpm readouts that I get are are WILDLY erratic — no rhyme or reason to them whatsoever. For an input at D2, I’m using a TTL timing signal from a reciprocating electric engine controller. The square wave timing signal signal looks to me to be perfectly good for the application. Any ideas about where I might be going wrong? I’m an Arduino novice, and I have a difficult time making sense of code.

I really like the approach taken here — the ‘once per second’ rpm reading makes for a proper instrument. I’d like to use this as the basis for a small engine tachometer; one that gets its input signal by inductively coupling to the spark plug wire.