>The "matrix voltage divider" method I posted yesterday may have been >cute, but it's awfully cheap 'n dirty: it doesn't resolve multiple >simultaneous keypresses; it requires a PIC with at least a 10-bit A/D >converter; the voltage levels it outputs for each keypress cannot be >known precisely at design time because of resistor tolerances; and the >voltage levels aren't distributed evenly over the A/D converter's input >range. In sum, this voltage divider scheme makes extremely efficient >use of hardware but it's awfully inconvenient to use. With surface mount resistors being 1% tolerance, and E24 ranges available, I suspect that with an hour or so of calculating it should be possible to make this arrangement reasonably foolproof. Another trick to do is to have the resistors set up as an R/2R network like is used inside many A/D converters, and then each switch represents one particular bit of the A/D inside the chip. Then for a 10 bit A/D converter one could probably get 9 switches reliably :) -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads