THANKS TO ALL.. just a few responses (I'll still take more advice for anyone giving!
You better let a timer count the pulses and check the count in regular time intervals.
Please expand this thought.
In the abstract, digitalRead sounds fine to catch a 500Hz signal. It depends on what else your code is doing of course. If you have something slow or blocking, interrupts will be the way to go - it's simple enough.
Can you run what you have at 50RPM and see whether the Nano can keep up?
At present, I cannot actually run it at 50RPM - was hoping to get some insight as to what to expect when I actually hooked this up.. I can reduce the speed using either a chain or timing belt so that the encoder is only seeing about 10RPM.. I may also drop back to another encoder that is something more like 100 Pulse/Rev.
@Robin, Definitely gonna try that... I was trying to talk myself out of interrupts just to keep the code "simple," but it seems prudent.
@Horace.. was considering the Due based on a it having a higher processing speed.. I'm not familiar with the quadrature decoder feature .. something to look into - thank you.
there are algorithms for reading 1,2 or 4 of the available quadrature pulses?
This I definitely need to look into.. I just need to read one of the 4 pulses, TBH. It will probably not run in reverse, although, the way I have it now, it CAN and still stay in step
Are you just trying to measure the rotational speed of a motor?
I'm trying to determine the linear inches a chain has traveled by counting the rotations of it's drive sprocket. It this case, the sprocket is roughly has an 11" "pitch diameter," so one revolution means that the cargo ON the chain has moved 34.54" away from the sensor. The sensor will be measuring length, but my accuracy can be +/- 3-inches, so dividing the sprocket rotation into 600 "steps" gives me a theoretical resolution of > 1/8 inch --which is a bit of overkill. LOL
Do you need to determine direction or do you know the direction from the code?
I will probably need to determine the direction using the encoder, but it should not ever run in reverse, so this should never be an issue. The arduino is NOT controlling the drive motor, it just runs continuously