Security presents the primary challenge in today’s modern society. Anyone has the ability to enter your personal residence at any moment in order to steal your belongings. In order to keep your home safe from burglars, you must ensure it is secure. A motor is installed on the door in this project to ensure that the door opens only if the password is correct.
This project will help you understand the concept behind a relay. Relay functions as a mechanical switch for transferring very high voltage with control from a 3 or 5 volt signal using an npn transistor.
Follow the circuit diagram to connect your hardware and then upload the hex file from the provided code to the Arduino Uno board.
Password Based Door Lock System Using Arduino SIMULINO UNO (Code)
#include
#include
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
{'7','8','9','/'},
{'4','5','6','*'},
{'1','2','3','-'},
{'C','0','=','+'}
};
byte rowPins[ROWS] = {3, 2, 19, 18}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {17, 16, 15, 14}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
const int LED_RED=10; //Red LED
const int LED_GREEN=11; //Green LED
const int RELAY=12; //Lock Relay or motor
char keycount=0;
char code[4]; //Hold pressed keys
//=================================================================
// SETUP
//=================================================================
void setup(){
pinMode(LED_RED,OUTPUT);
pinMode(LED_GREEN,OUTPUT);
pinMode(RELAY,OUTPUT);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Password Access:");
lcd.setCursor(0,1); //Move coursor to second Line
// Turn on the cursor
lcd.cursor();
digitalWrite(LED_GREEN,HIGH); //Green LED Off
digitalWrite(LED_RED,LOW); //Red LED On
digitalWrite(RELAY,LOW); //Turn off Relay (Locked)
}
//=================================================================
// LOOP
//=================================================================
void loop(){
char customKey = customKeypad.getKey();
if (customKey && (keycount<4) && (customKey !='=') && (customKey !='C')){
//lcd.print(customKey); //To display entered keys
lcd.print('*'); //Do not display entered keys
code[keycount]=customKey;
keycount++;
}
if(customKey == 'C') //Cancel/Lock Key is pressed clear display and lock
{
Lock(); //Lock and clear display
}
if(customKey == '=') //Check Password and Unlock
{
if((code[0]=='1') && (code[1]=='2') && (code[2]=='3') && (code[3]=='4')) //Match the password
{
digitalWrite(LED_GREEN,LOW); //Green LED Off
digitalWrite(LED_RED,HIGH); //Red LED On
digitalWrite(RELAY,HIGH); //Turn on Relay (Unlocked)
lcd.setCursor(0,1);
lcd.print("Door Open ");
delay(4000); //Keep Door open for 4 Seconds
Lock();
}
else
{
lcd.setCursor(0,1);
lcd.print("Invalid Password"); //Display Error Message
delay(1500); //Message delay
Lock();
}
}
}
//=================================================================
// LOCK and Update Display
//=================================================================
void Lock()
{
lcd.setCursor(0,1);
lcd.print("Door Locked ");
delay(1500);
lcd.setCursor(0,1);
lcd.print(" "); //Clear Password
lcd.setCursor(0,1);
keycount=0;
digitalWrite(LED_GREEN,HIGH); //Green LED Off
digitalWrite(LED_RED,LOW); //Red LED On
digitalWrite(RELAY,LOW); //Turn off Relay (Locked)
}
Password Based Door Lock System Using Arduino SIMULINO UNO (Schematic Diagram)
The key pad library for the arduino uno available in this link Keypad .This library is setup to do every function for the keypad .
The simulation file for proteus 8 with arduino code can be downloaded from this link proteus simulation with code
This is very simple project . If you did not understood code please learn first AVR and it will be easy for you to understand arduino codes . you can learn AVR from this link https://www.electronify.org/learn-microcontrolleravr
If you have any question or suggestion please comment below and do not forget to share this project .
For another similar project visit here:
Password Based Door Lock System Using Arduino SIMULINO UNO