Interfacing a digital rotary switch

posted Aug 27th 2009 12:31pm by Mike Szczys
filed under: misc hacks, peripherals hacks

digital_rotary_switch

[hw640] has put together a well written and detail packed explanation of how to interface with a digital rotary switch. These digital opto encoders have just two outputs with four possible logic levels (00, 10, 11, 01). The relative position of the switch is insignificant but the direction of rotation is what matters.

The short and dirty: Each of the switch’s 2 output pins is attached to a pin change interrupt on the microcontroller. Every time the switch moves it generates either a rising edge or a falling edge on one of the two pins; both edges cause an interrupt. By checking which pin caused the interrupt, then comparing the logic levels of the two pins after that interrupt, we can determine the direction the switch was rotated.

Although this explanation uses a PIC and code written in PicBasic Pro the concepts are discussed in the abstract and would easily be adapted to an AVR or another microcontroller of your choice.

Resistive ladder volume control

posted Jan 10th 2009 5:30pm by Eliot Phillips
filed under: digital audio hacks, home entertainment hacks

preamp

[jefffolly] published some straight forward plans for a passive volume control. It uses a resistive ladder built across the contacts of 12W rotary switches. Each resistor provides a 5dB difference, and he recommends using 0.1% tolerance resistors to maintain accuracy. The use of discrete resistors instead of volume pots means that the output is much more predictable. All of the RCA sockets were connected using oxygen-free copper wire.




Hack a Day serves up fresh hacks each day, every day from around the web and a special How-To hack each week.

Send us your hacks