You will need:
- 12 button common terminal keypad. 1x
- 1k ohm resistor, 12x
- 12k ohm resistor, 1x
- Protoboard (approx 1.5" x 1.5"), 1x
- Soldering iron & solder
- Hookup wire (red - approx 2"), x1
- Hookup wire (black - approx 2"), x12
- Hookup wire (red,black,yellow - approx 5"), x3
- Molex crimp pins, 3x
- Molex female connector, 1x
- Molex male connector, 1x
- Hot glue gun
- Mini vise
Remove these ads by
Signing UpStep 1Circuit Design
The common terminal of the keypad is held high through a 12k pullup resistor.
Each key terminal of the keypad is connected to a 1k resistor.
That resistor is in turn connected in series with its neighbor in a ladder twoards the common terminal.
The end of the resistor ladder is tied to ground.
The signal line is a voltage divider with its reference point between the 12K resistor and the resistor ladder.
Depressing a key causes a chain of resistors with a unique value to be introduced into the voltage divider, giving each key a unique analog value.
Eagle schematic files are attached for ease of reproduction on a protoboard or single sided etched copper board.
| « Previous Step | Download PDFView All Steps | Next Step » |
















































http://dominion-network.co.uk/projectstuff/keypad.jpg
I'm currently in the process of neatening it up so it looks a lot better, and so I'm also able to 'waterproof' it with a diy membrane.
http://www.arduino.cc/playground/Code/Password
But I'm not having any luck, could you give me a hand?
Also, are you 100% sure you have a common terminal keypad?
Sorry but i have to start with the basic questions, some people do try to use this library with a matrix keypad and it wont work with that.
I cant help without seeing what you're working with.
Also send me some pics of the hardware physical
hardware setup or eagle schematics.
Im also a little unclear on what you mean by combining both.
I assume you want to capture input from the keypad and pass it onto
the password library. Is this correct?
But yeah I'm trying to capture input from the analog keypad and pass it through to the password library and so far everything I've attempted has failed...
Once I've had my dinner I will take the required photos and I will email them as well as the code I've got.
All the source is avaiable on github:
https://github.com/declanshanaghy/KeypadBackpack
I've started implementing the Arduino Library to read the keys (see here)
https://raw.github.com/declanshanaghy/KeypadBackpack/master/AnalogKeypad/AnalogKeypad.pde
However, the code doesn't include any debouncing logic yet. I should get that implemented within the next week. (busy with some other stuff)
Feel free to fork and send me a pull request if you implement it yourself.
Where did you get your keypad from? was it Maplins? (UK) or Sparkfun? (USA)
The keypad must be the type that has 13 terminals.
1 for each of the 12 keys and 1 common termal
I got this "common terminal" keypad at allelectronics.com
http://www.allelectronics.com/make-a-store/item/KP-12/12-BUTTON-KEYPAD//1.html
Most people use matrix keyds because it saves pins compared to a common terminal keypad. However, i think the common terminal approach is much easier since you can get it down to only using 1 pin with a few measly resistors.
AllElectronics is pretty bad when it comes to datasheets - basically non existent for any of their products.