MPMC IA4 Nithe
MPMC IA4 Nithe
Submitted by
NITHESHWAR S 727822TUCS129
Of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE
NOV 2024
ABSTRACT
This project presents the design and implementation of an automated door lock system
using Arduino technology. The system enhances security and convenience by providing a
reliable and efficient means of controlling access to designated areas.
The system incorporates various authentication methods such as RFID card readers,
fingerprint scanners, and keypad entry, ensuring that only authorized individuals can gain
access. Additionally, a real-time clock module can be integrated to enforce time-based
access restrictions, allowing for granular control over access permissions.
The Arduino microcontroller serves as the core of the system, processing input signals
from the sensors and controlling output devices like electronic door locks, alarms, and
notification systems. The system can operate in various modes, including manual,
automatic, and remote control via Wi-Fi or Bluetooth, offering flexibility and adaptability
to different user needs.
By automating door control, this project offers several advantages. Robust authentication
methods and time-based restrictions minimize the risk of unauthorized access. Remote
control and automatic locking/unlocking features provide ease of use and flexibility.
Automated locking can help conserve energy by ensuring doors are locked when not in
use. The system can also be integrated with other smart home devices to create a
comprehensive security solution.
This project demonstrates the potential of Arduino technology in creating innovative and
practical solutions for home and business automation. By combining hardware and
software components, the automated door lock system offers a reliable and efficient way
to secure properties and enhance overall security.
SYSTEM TOOLS:
1. ARDUINO UNO R3
2. ULTRASONIC SENSOR
3.LED’s
4. SERVO MOTOR
5.4x4 KEYPAD
6.LCD DISPLAY
PROGRAM:
#include <LiquidCrystal.h>
#include <Keypad.h>
#include <Servo.h>
int servostate;
int posOpen = 0;
int posClose = 90;
int a=0, b=0, c=0, d=0;
int var=0;
int C1=1,C2=2,C3=3,C4=4;
int Buzzer = A3;
char f='*';
const byte row = 4;
const byte column = 4;
char hex[row][column] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte pinRow[row] = {0, 6, 5, 4};
byte pinColumn[column] = {3, 2, 1};
Servo myservo;
Keypad keypad = Keypad( makeKeymap(hex), pinRow, pinColumn, row, column );
LiquidCrystal lcd(8,9,10,11,12,13);
void setup(){
lcd.begin(16,2);
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
myservo.attach(7);
myservo.write(posOpen);
servostate = 1;
}
void loop(){
char key = keypad.getKey();
if (key){
lcd.setCursor(6+var,1);
lcd.print(key),lcd.setCursor(6+var,1),lcd.print(f);
key=key-48;
var++;
switch(var){
case 1:
a=key;
break;
case 2:
b=key;
break;
case 3:
c=key;
break;
case 4:
d=key;
delay(50);
if(a==C1 && b==C2 && c==C3 && d==C4){
lcd.clear();
lcd.setCursor(4,0);
lcd.print("Door");
lcd.setCursor(5,1);
if(servostate == 0){
lcd.print("Lock");
myservo.write(posOpen);
servostate = 1;
}
else{
lcd.print("Unlock");
myservo.write(posClose);
servostate = 0;
delay(2000);
myservo.write(posOpen);
}
digitalWrite(A0,HIGH);
delay(1000);
lcd.clear();
digitalWrite(A0,LOW);
}
var=0;
lcd.clear();
break;
}
}
if(!key){lcd.setCursor(0,0),lcd.print("Insert Password");}
delay(2);
}
RESULT:
CONCLUSION: