I have signal conditioning made externally for the input of the signal. I attached it to my original post. To answer the question about ground, that was a good catch. I forgot to include it in the (rough) drawing, but I have a resistor between my signal out and ground. When hooked to an oscilloscope I'm getting a clean sine wave input into the Arduino. I assumed because of this when I set up the interrupt on falling edge it would catch this every time, I could be wrong here. Maybe someone can clear that up for me.
The reason I went with the switch case is for lack of knowledge of a better way to do it. I had planned to update my LCD display every .5 seconds. This is why my delay is set to 100ms over 5 periods pushing me to output roughly every .5 seconds. I read the blink without delay and that defiantly looks like better way to approach the code.
Then I averaged the code so that I would basically receive an average rpm over the .5 second period. Maybe I should scratch that and just purely display what the RPM is at every .5 seconds, and heck maybe .5 seconds is to slow of a refresh rate. What do you guys think? I'm open to any suggestions or coding changes.
As to the reason I have the code set up to AvgRPM * 10 * 60 / 2. With a pulse at 60Hz, I should receive 6 falling edges every 10ms. If so my AvgRPM = 6. 6 * 10 * 60 / 2 = 1800 RPM which if I'm correct should be the RPM of a 60Hz frequency. Please correct me if I am approaching this the wrong way.