Howdy folks, it's been a long, long time since I played with Arduinos/hardware solutions to software problems, so first and foremost, please be patient with me and consider me a rookie. I'm not new to programming, but it's been a long time since I did hardware interaction.
I'm aware of a myriad (1) of related prior posts (I could easily link more...), and at this point, my head is spinning.
Root of the project/problem:
I have a vehicle speed sensor ("VSS", pretty sure it's a hall effect sensor) that outputs a TON of square waves (min just over 0V, max something like 2.7v).
Like thousands of them a second (eg measure the wave frequency in microseconds). When it's linked directly to the speedometer, the speedo reads wrong. And not just a couple MPH off. We're talking orders of magnitude wrong.
I'm aware of Tim Toolman's similar project; in fact, I hope to leverage his code to output the (more) correct MPH.
What I have no damn idea what I'm doing for: VSS input. Specifically, I need a way to read in the VSS signal, and then once I am successfully doing so, do whatever sort of maths I need to, in order to re-translate it into a more accurate reading.
Seeing a LOT of conflicting information on that which makes my head hurt (again, been out of the game a long time). Some people use the TimerOne library (as Tim above does); but doesn't that interfere with above output, and it's doing "too much work" for one board (I've heard this a few times)? Some people do it all with interrupts (ughhhh, but if I have to), and if that's the case, how does THAT play with output...
I feel very lost and confused as to where to even start with this input problem.
Any and all advice (and sample code) would be greatly appreciated.