10 or more switches using a microcontroller

Posted on Feb 7, 2014

There are several ways to read multiple switch inputs using a reduced number of microcontroller-unit (MCU) pins. For example, you can use an analog MCU pin to read multiple switches by assigning a unique voltage to each switch through a resistor network, or you can use a one-wire device, such as the Maxim DS2408 8-channel addressable switch. The f

10 or more switches using a microcontroller
Click here to download the full size of the above Circuit.

irst method has several disadvantages: The MCU has to have an ADC function, debounce wait times reduce the polling rate, and an error results if the switch is opened during the ADC sampling time. The second method also has the drawback of comparatively low speed; it uses 1-wire communication, which requires continuous polling; and each poll generates an 8-bit data sequence relevant to switch positions. This Design Idea describes a method for reading multiple pushbuttons or open/closed switches using only two digital I/O pins and a timer interrupt of the MCU (Figure 1). Optionally, a third I/O pin can be assigned to periodically reset the CD4017 (a cascadable decoded 1-of-10 Johnson counter) for reliable operation should an EMI or ESD event occur that could falsely clock the counter, or you can use the circuit shown in Figure 2 and retain the two-pin feature. The diodes isolate the counter outputs in the event that two or more switches are closed at the same time. You can increase the number of switches connected by cascading multiple CD4017 ICs using a carry-out signal (pin 12) and a clock signal (pin 14). Figure 1 You can easily expand this circuit to many more than 10 switches, yet still use only two MCU I/O pins, by cascading multiple CD4017 counters through their carry-outs to the following enables. Reliable operation following the initial power-up reset depends on the CD4017 counter`s remaining synchronized with the...

Leave Comment

characters left:

New Circuits



Popular Circuits

7400 Siren
Precision battery voltage monitor
Car audio amplifier 40w
Human-Computer Interface Technology 2
Berkeley Bolometer Group - Research
Remote Control Mains Switch
140W Amplifier Circuit ( 2x 70 Watt ) Schematic Diagram
Coil-Less FM Bug
Eico667 troubleshooting
light dependent blinker using ldr and cd4093
Flashing-LED Battery-Status Indicator Circuit
Fire Sensor Circuit
RT9179CB management chip power supply circuit