Keyboard matrix decoder

Thread Starter

B R

Joined Jan 31, 2009
1
I have a similar problem... Here is a somewhat complicated solution that I found a few days ago (untested prototype):
Sorry there isn't a schematic.
Get an inverter, and connect its output to to an input of another inverter, the input of the first inverter and the cathode (-) of a .01uF capacitor. The anode (+) of the capacitor is connected to the output of the second resistor and to the clock input of a Data Latch. Connect the second output of the latch to the data input. Connect the first output of the latch to the clock input of another Data Latch. Connect the second latches second output to its data input. Connect both latches second output to both inputs of a NOR gate. Connect the first latches first output and the second latches second output to both inputs of another NOR gate. Connect the second latches first output and the first latches first output to another NOR. Connect both latches first outputs to another NOR. Connect the first NOR gate to R1 (in the keypad), the second NOR gate to R2, etc. until you get to the fourth NOR to R4. Now... here is where it gets really complicated in my schematic... connect the output of the each NOR gate to the gate of sixteen NPN transistors (four transistors per gate). Connect the collectors of the NPN transistors to C1 (in the keypad), C2, C3, and C4 (four transistors per column). MAKE SURE THAT EACH COLUMN ONLY GOES INTO THE SAME TRANSISTOR AS THE OUTPUT OF THE NOR GATES ONCE!!! IF YOU MAKE A MISTAKE HERE, THE THING WILL NOT WORK!!! Now, you have almsot done it. Connect a wire to the emitter of the transistor that connects to both R1 and C1. Label this wire "1". Connect a wire to the emitter of the transistor that connects to both R1 and C2. Label this wire "2". Connect a wire to the emitter of the transistor that connects to both R1 and C3. Label this wire "3". Connect a wire to the emitter of the transistor that connects to both R1 and C4. Label this wire "4". Connect a wire to the emitter of the transistor that connects to both R2 and C1. Label this wire "5". Connect a wire to the emitter of the transistor that connects to both R2 and C2. Label this wire "6". Connect a wire to the emitter of the transistor that connects to both R2 and C3. Label this wire "7". Connect a wire to the emitter of the transistor that connects to both R2 and C4. Label this wire "8". Connect a wire to the emitter of the transistor that connects to both R3 and C1. Label this wire "9". Connect a wire to the emitter of the transistor that connects to both R3 and C2. Label this wire "10". Connect a wire to the emitter of the transistor that connects to both R3 and C3. Label this wire "11". Connect a wire to the emitter of the transistor that connects to both R3 and C4. Label this wire "12". Connect a wire to the emitter of the transistor that connects to both R4 and C1. Label this wire "13". Connect a wire to the emitter of the transistor that connects to both R4 and C2. Label this wire "14". Connect a wire to the emitter of the transistor that connects to both R4 and C3. Label this wire "15". Connect a wire to the emitter of the transistor that connects to both R4 and C4. Label this wire "16". Now, if you used IC's for the gates/latches, connect them to power and ground (won't tell you which pins to connect on IC's, it varies and I've already written too much. Just Google for pin placement. Of course, only use these labels if your 4x4 keypad was labeled like that... If it used letters as well, change the labels to reflect the labels on your keypad. To test this, connect the outputs to a 1K resistor to an LED to ground. ALL DONE!!! Remember that this is an untested prototype that SHOULD work, but I can't guarantee that it will (try it out on a test board before soldering). Please give comments, suggestions, feedback, "it works" or "it doesn't work".
 
Last edited by a moderator:
Top