I'm looking to create a rotary encoder input device to use on an Arduino.
What I want is for users to rotate a crank and for the Arduino to sense the direction and approximate speed of the turn. The accuracy is not important, but the durability / tactile response is more so.
Software wise I'm competent, but my electronics is a little rudimentary.
My initial thought was to use an optical rotary encoder. However these are so small that attaching a crank handle to them I fear would just rip it apart immediately, plus there would be no resistance to the rotation.
So my other thought, remembering my school physics, was could you use an electrical motor or a hand generator instead? (I guess basically they are more or less the same inside). These would be more robust and would provide some resistance.
Anyone have any experience or advice on how this could be achieved? I guess at for basics, you attach the output of the motor to the analogue input pin. Turning the handle creates a voltage. The harder bit is to match the output voltage to the input voltage? or to stop the motor blowing the circuit if turned quickly.
Also if you turn a motor the opposite way does that reverse the voltage. Would a motor output an AC or DC signal?
Or perhaps I'm barking completely up the wrong tree?