Password Protected Door Lock Using Arduino

by DavidM386 in Circuits > Arduino

4133 Views, 11 Favorites, 0 Comments

Password Protected Door Lock Using Arduino

Screenshot (2).png

The project comprises of Arduino mega,a motor, a keypad, a buzzer,lcd, potential meter, red led and green led.After uploading the hex file ,the lcd starts.

Welcome Note Prompts You to Enter Password

Screenshot (3).png

The welcome note prompts the user to enter password to unlock door.

Validation of Password

Screenshot (4).png

The user enters the password.When the correct password is entered, the green led lights and the motor rotates thus opening the door.

Invalid Password

Screenshot (5).png

In case the user enters the wrong password, the red led lights and the buzzer sounds. In this case the door does not open.

Code

#include <Keypad.h>
#include <LiquidCrystal.h> #include<Wire>

int greenLed=22; int redLed=23; int motorPin=24; int piezoPin=25; char* ourCode="1234"; int currentPosition=0;

const byte rows=4; const byte cols=3;

char keys[rows][cols]={ {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte rowPins[rows]={13,10,9,8}; byte colPins[cols]={7,6,1}; Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,rows,cols); LiquidCrystal Lcd (12,11,5,4,3,2);

void setup() { Lcd.begin(16,2); //lcd.init(); displayCodeEntryScreen(); pinMode(piezoPin,OUTPUT); pinMode(motorPin,OUTPUT); pinMode(redLed,OUTPUT); pinMode(greenLed,OUTPUT); digitalWrite(redLed,LOW); digitalWrite(greenLed,LOW); // put your setup code here, to run once:

}

void loop() { int l; char key=keypad.getKey(); if(int(key)!=0){ Lcd.setCursor(10,0); Lcd.print(" "); Lcd.setCursor(10,0); for(l=0;l<=currentPosition;++l) {Lcd.print("*");} if(key==ourCode[currentPosition]) { ++ currentPosition; if(currentPosition==4) {unlockDoor(); currentPosition=0; } } else{invalidCode(); currentPosition=0; } } } void invalidCode() { digitalWrite(redLed,HIGH); digitalWrite(motorPin,LOW); digitalWrite(piezoPin,HIGH); clearScreen(); Lcd.setCursor(0,0); Lcd.print("ACCESS DENIED!"); Lcd.setCursor(0,1); Lcd.print("INVALID CODE ");

delay(5000); digitalWrite(redLed,LOW); digitalWrite(piezoPin,LOW);

displayCodeEntryScreen(); } void unlockDoor() { digitalWrite(greenLed,HIGH); clearScreen(); Lcd.setCursor(0,0); Lcd.print(" ACCESS GRANTED "); Lcd.setCursor(0,1); Lcd.print(" WELCOME!! "); digitalWrite(motorPin,HIGH);

delay(5000); digitalWrite(greenLed,LOW); digitalWrite(motorPin,LOW); displayCodeEntryScreen(); } void displayCodeEntryScreen() { clearScreen(); Lcd.setCursor(0,0); Lcd.print("Hallow,welcome"); Lcd.setCursor(0,1); Lcd.print("Enter code"); } void clearScreen() { Lcd.setCursor(0,0); Lcd.print(" "); Lcd.setCursor(0,1); Lcd.print(" "); }

  // put your main code here, to run repeatedly: