Re: [sdiy] Logic for rotary encoders
Roman
modular at go2.pl
Tue Jan 21 11:33:08 CET 2003
A scanning matrix with 2 chips:
use 2 bits of available 8-bit port and drive shift registers with it -
only clock and data. That gives 16 outputs. Make diode matrix of
encoders, i.e. from each of shift reg. outputs drive 3 encoders
(common terminal), and pulse terminals of those encoders connect via
diodes to remaining 6 bits of your port. That gives 16 outs x 6
inputs = 96 scanning points (48 encoders).
Your firmware will output one high data pulse for each 16 clocks and
it' knows exactly what group of 3 encoders is currently powered.
hope that helps
Roman
Leif <leifcr at hekta.org>:
>Hi
>
>I have a microcontroller that is going to do some midi and control a
dsp...
>
>I've been looking into putting some controllers, rotary encoders...
40 of
>them to be exact... + some switches as well.
>
>I know that I can do groups of 16 and 16 encoders, and then use
74hc165 * 4
>(8 bit parallel to serial shift registers) per group of 16 to do a
>conversion of the data from 16 parallel inputs to a serial data
>stream... but for 40 controllers we would get 12 chips... which is
a lot.
>
>I only have a 8 bit port to use for the controllers, so I find the
shift
>register thing ok, but not very good... Anyone know a better way to
do it ?
>
>I might of course use a small microcontroller just to take care of
the
>counting and data, then send it to the first, but that is a
expensive design..
>
>cheers,
>Leif
>
>
>
More information about the Synth-diy
mailing list