One of the things that have put me off of using a 16 button pad with an arduino (such as this one: http://www.hobbyking.com/hobbyking/stor … odule.html was that it uses 8 I/O pins-- 4 output for scan and 4 input for return. I poked around a little and didn’t find anything to reduce the pin count any farther without making it significantly more complex or expensive (such as RS232 chips and other digital conversion).
(couldn’t find a 16 button here on Sparkfun, but this suggestion would work for 12 button matrix as well)
After working with the Digital IR sensor, I wondered why the input and output pins couldn’t be stacked to the same 4 pins using the same principle.
Unless I’m missing something, a board like the schematic below would allow the scan to be outputted on the four pins (1000, 0100, 0010, 0001), and the charge returned when the output is switched to input. This would put 16 buttons on 4 I/O pins without any active components (just resistors and capacitors)
Would this be useful enough to produce, or is there something I’m not seeing that this hasn’t bee done?
(I did see in the commentary for 12 button keypads on this site that there is a way to use a single analog input for the keypad, but I tend to like using analog inputs for sensors.)