Devices & Components
Arduino Uno Rev3
5 mm LED: Green
Breadboard (generic)
9V battery (generic)
keypad
Jumper wires (generic)
SG90 Micro-servo motor
5 mm LED: Red
Resistor 220 ohm
Project description
Code
Code
c_cpp
1#include <Servo.h> 2#include <Keypad.h> 3 4Servo ServoMotor; 5char* password = "427"; // change the password here, just pick any 3 numbers 6int position = 0; 7const byte ROWS = 4; 8const byte COLS = 4; 9char keys[ROWS][COLS] = { 10{'1','2','3','A'}, 11{'4','5','6','B'}, 12{'7','8','9','C'}, 13{'*','0','#','D'} 14}; 15 16byte rowPins[ROWS] = { 8, 7, 6, 9 }; 17byte colPins[COLS] = { 5, 4, 3, 2 }; 18Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); 19int RedpinLock = 12; 20int GreenpinUnlock = 13; 21 22void setup() 23{ 24pinMode(RedpinLock, OUTPUT); 25pinMode(GreenpinUnlock, OUTPUT); 26ServoMotor.attach(11); 27LockedPosition(true); 28} 29 30void loop() 31{ 32char key = keypad.getKey(); 33if (key == '*' || key == '#') 34{ 35position = 0; 36LockedPosition(true); 37} 38if (key == password[position]) 39{ 40position ++; 41} 42if (position == 3) 43{ 44LockedPosition(false); 45} 46delay(100); 47} 48void LockedPosition(int locked) 49{ 50if (locked) 51{ 52digitalWrite(RedpinLock, HIGH); 53digitalWrite(GreenpinUnlock, LOW); 54ServoMotor.write(11); 55} 56else 57{ 58digitalWrite(RedpinLock, LOW); 59digitalWrite(GreenpinUnlock, HIGH); 60ServoMotor.write(90); 61} 62}
Code
c_cpp
1#include <Servo.h> 2#include <Keypad.h> 3 4Servo ServoMotor; 5char* password = "427"; // change the password here, just pick any 3 numbers 6int position = 0; 7const byte ROWS = 4; 8const byte COLS = 4; 9char keys[ROWS][COLS] = { 10{'1','2','3','A'}, 11{'4','5','6','B'}, 12{'7','8','9','C'}, 13{'*','0','#','D'} 14}; 15 16byte rowPins[ROWS] = { 8, 7, 6, 9 }; 17byte colPins[COLS] = { 5, 4, 3, 2 }; 18Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); 19int RedpinLock = 12; 20int GreenpinUnlock = 13; 21 22void setup() 23{ 24pinMode(RedpinLock, OUTPUT); 25pinMode(GreenpinUnlock, OUTPUT); 26ServoMotor.attach(11); 27LockedPosition(true); 28} 29 30void loop() 31{ 32char key = keypad.getKey(); 33if (key == '*' || key == '#') 34{ 35position = 0; 36LockedPosition(true); 37} 38if (key == password[position]) 39{ 40position ++; 41} 42if (position == 3) 43{ 44LockedPosition(false); 45} 46delay(100); 47} 48void LockedPosition(int locked) 49{ 50if (locked) 51{ 52digitalWrite(RedpinLock, HIGH); 53digitalWrite(GreenpinUnlock, LOW); 54ServoMotor.write(11); 55} 56else 57{ 58digitalWrite(RedpinLock, LOW); 59digitalWrite(GreenpinUnlock, HIGH); 60ServoMotor.write(90); 61} 62}
Downloadable files
Back View
Back View

Back View
Back View

Front View
Front View

Comments
Only logged in users can leave comments