PDA

View Full Version : Matrix keypad without encoder?



SamM
04-28-2007, 10:16 PM
Is it possible to use a matrix keypad with a stamp *without* an encoder such as the 74c923? I have plenty of pins free, so lack of inputs is not a problem. I've thought about some method of strobing rows and checking columns to determine which key is pressed, but I'm wondering if this can cause hardware problems if more than one key is pressed at a time.

Any suggestions, or is the only 'safe' method to use an encoder chip?

Forrest
04-28-2007, 10:58 PM
Lots of choices - here's a few links

http://www.parallax.com/dl/docs/cols/nv/vol1/col/3.pdf
http://www.parallax.com/dl/docs/cols/nv/vol1/col/22.pdf
http://www.parallax.com/dl/docs/cols/nv/vol2/col/62.pdf
http://www.parallax.com/dl/docs/cols/nv/vol3/col/79.pdf
http://www.parallax.com/dl/docs/cols/nv/vol4/col/97.pdf

I've used the interface from issue #22 above, and found it works better if you change the 10K pullup resistors to pulldown resistors and change the BS2 program accordingly.

Beau Schwabe posted the circuit in the attachment thats interesting - it uses 1 resistor for each row/column and 1 capacitor and just 1 BasicStamp pin.

SamM
04-29-2007, 09:36 PM
Thanks, I'm going to play with those alternatives a bit. BTW, the attachment you posted with the single wire version--is there an article anywhere or software to describe it? I've searched for posting by the person you mentioned, but can only see the last five posts by people....?

Beau Schwabe (Parallax)
04-29-2007, 09:45 PM
SamM,

You just use the RCTIME command....Open a PBASIC editor and type the word RCTIME. Highlight the command and press F1 for help using RCTIME.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe (mailto:bschwabe@parallax.com)

IC Layout Engineer
Parallax, Inc.

SamM
05-05-2007, 10:33 AM
Thanks for the suggestions all....
My final decision was to go with the method of pulsing the rows and scanning the columns. A bit simpler hardware-wise, although debouncing and non-repeating proved to be fun in software.

Appreciate the help!