You know what else? if you really want a good encoder that sends something other than pulses to your controller, check out
gray encoders. They send out a binary reading based on position, and it's much more accurate. A gray code is something like 001, then 010, then 011, ect, which makes them easy to read in code.
Sparks