[sdiy] Rotary encoder reading.. hardware solution (fast & accurate)

Jean-Pierre Desrochers jpdesroc at oricom.ca
Wed Aug 11 22:27:36 CEST 2021

For anybody who could be interested..

Just found this video yesterday and tried the circuit..

<https://www.youtube.com/watch?v=UlehqasO-fo&t=1471s> &t=1471s


Outputs A and B (CD4013) connected to PORTB of a PIC16F1783

(RB0 and RB1) using interrupts on change (rising edges).

Now I only have to check one incoming pulse on each RB0 & RB1

to increment or decrement a counter.
Much faster than computing  all the 4 possible states in each encoder step
to finally get a result.

My interrupt uses TIMER1 (1msec steps), RB0 & RB1 on change.

No missing counts anymore even rotating fast, on both direction.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210811/d370c590/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 53835 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210811/d370c590/attachment.jpg>

More information about the Synth-diy mailing list