Picture of Arduino Resistor-less keypad access control
This instructable uses the internal ATMEGA resistors to drive a 4x4 keypad for access control. Most of the information comes from http://www.instructables.com/id/Access-control-with-Arduino-Keypad-4x4-Servo/, I also used sources from here and there.

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.

Parts list:

        - 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.

        - Wires.

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.

lroberts124 days ago


SureshE1 month ago

explain how can i change password(user defined)?

step:1 enter default password

step:2 enter 'A' check password

step3: password correct then go light up led if not blink led 5 times

step4: enter 'B' change password (( how can i change password) i need some explanation here)

greenbriel made it!3 months ago
Brilliantly simple and neat solution. Just what I was looking for, thanks!
pra4frnd1 year ago

Thank you...You made my day...

donromeo (author)  pra4frnd1 year ago

I meant Glad. ^__^

donromeo (author)  pra4frnd1 year ago

lad you liked it.

pleas man>> i need password and servo library
donromeo (author)  yousef saadeh2 years ago
I just uploaded both libraries. Tested in 1.0.5