On Thu, Sep 23, 2010 at 2:17 PM, Brendan Gillatt < brendan@brendangillatt.co.uk> wrote: > That scheme was common with remote controls for portable minidisc/CD > players. See http://www.minidisc.org/manuals/sharp_mdmt20_remote_schem.pd= f > for an example. > I thought the OP was about how to read multiple DIP switches rather than reading a keypad - aka. how to read multi touch keys in a keypad. So when more than one keys were pressed (multiple switches in the DIP switch are in on position) you should still be able to read them reliable -- so in any combination it will not give you similar voltage than any single or other combination pressed (or in on position in this example with the DIP switch). My approach would have been connecting the resistors in series and then using the switches to shortcircuit each resistors. The resistor values woul= d have been doubled in each tag (similar to binary numbers) -- but need to think it over really. So if nothing in on position, then Rx + (Rx * 2) + (Rx * 4) + (Rx * 8) woul= d give the bottom resistance on a voltage divider, otherwise would leave out of the equation whatever tag is on, for example if 2nd and 4th are on then : Rx + (Rx * 4) only... Tamas -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > --=20 int main() { char *a,*s,*q; printf(s=3D"int main() { char *a,*s,*q; printf(s=3D%s%s%s, q=3D%s%s%s%s,s,q,q,a=3D%s%s%s%s,q,q,q,a,a,q); }", q=3D"\"",s,q,q,a=3D"\\",q,q,q,a,a,q); } --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .