Using external resistors is cumbersome and totally unneeded because the ATMEGA has resistors to pull the digital pins up. Then, programmatically we'll put them down one column at a time to determine which key was pressed.
- Arduino UNO R3 (Feel free to use a different one).
- Flat keypad from amazon (http://www.amazon.com/Universial-Switch-Keypad-Keyboard-Arduino/dp/B008A30NW4/ref=sr_1_2?ie=UTF8&qid=1366921352&sr=8-2&keywords=keypad). The code allows us to use any size keypads just changing the numRows, numCols and keymap varibales. The only limit is the number of pins in your Arduino.
- Servo, I'm using "Servo Hitec HS-422HD Standard Deluxe" bought from a local electronics store.
You set your password in the variable password. If the keyed password is correct, the motor will action for 2 seconds and the led in pin 13 will light up. If the password is wrong the led on pin 13 will blink 5 times rapidly.
See it in action: http://youtu.be/rW9V2GxLZDc.