E&IOt Mini Project
E&IOt Mini Project
RECORDNOTE
STUDENT NAME :
REGISTER NO :
SEMESTER :
YEAR :
P.T.Lee. CHENGALVARAYA NAICKER COLLEGE OF
ENGINEERING &TECHNOLOGY
Oovery,Kanchipuram-631502
BONAFIDECERTIFICATE
This is to certify that record work done by Mr/Ms _
(RegNo. )of year B.E-Department of
In the laboratory
During the academic year20 -20
OUTPUT:
INPUT OUTPUT
Register Data Address Data
A-register
B-register
PROGRAM: SUBTRACTION
A-register 05 4500 01
B-register 04
EXP NO: 01 PROGRAMMING ARITHMETICAND LOGICAL
DATE: OPERATIONSUSING8051
AIM:
To write and execute on assembly language program for addition, subtraction, multiplication and
division.
APPARATUS:
1. 8051microcontrollerkit------1
2. Powercard-----1
3. Keyboard----1
ADDITION
ALGORITHM:
1. LoadtheFirstDatainA-register.
2. LoadtheSecondDatainB-register.
3. Addthetwodatawithcarry.
4. Storethesum inmemorylocation.
5. Stoptheprogram.
SUBTRACTION
ALGORITHM:
1. Load the First Data in A-register.
2. Load the Second Data in B-register.
3. Subtract the two data with borrow.
4. Store the sum in memorylocation.
5. Stop the program
PROGRAM:
ADDRESS OPCODE LABEL PROGRAM COMMENTS
OUTPUT:
INPUT OUTPUT
REGISTER DATA ADDRESS DATA
A 05 4500 19
B 05
PROGRAM:
ADDRESS OPCODE LABEL PROGRAM COMMENTS
4100 74 MOVA,#07 Loaddata1inaccumulator.
4101 data1
4102 75 MOVB,#02 Loaddata2in B-register
4103 data2
4104 84 DIVAB Divide.RemainderinAandquo
tientin B
4105 90 MOVDPTR,#4500H InitializeDPTRwithaddress450
4106 45 0H
4107 00
4108 F0 MOVX@DPTR,A StoretheRemainderin45
00H
4109 A3 INCDPTR IncrementDatapointer
410A E5,F0 MOVA,B CopythecontentofB-regtoA-
register.
410C F0 MOVX@DPTR,A Storethequotient in 4501H
410D 80,FE STOP: SJMP STOP(410D) Stoptheprogram
MULTIPLICATION
ALGORITHM:
1. Getthemultiplierintheaccumulator.
2. GetthemultiplicandintheBregister.
3. MultiplyAwith B.
4. Storetheproductinmemorylocation.
5. Stoptheprogram.
DIVISIONALGORITHM:
1. GettheDividendintheaccumulator.
2. GettheDivisorintheBregister.
3. DivideAbyB.
4. StoretheQuotientandRemainderinmemory.
5. Stoptheprogram.
OUTPUT:
INPUT OUTPUT
REGISTER DATA ADDRESS DATA
A-Register 07 4500 01(quotient)
B-Register 02 4501 03(remainder)
PROGRAM:
AND OPERATION
INPUT OUTPUT
REGISTER DATA ADDRESS DATA
R0-Register 14 4500 10
A-Register 12
PROGRAM:
OROPERATION
AIM:
To write and Executed on assembly language program to performed logical operation using 8051
APPARATUS:
1. 8051microcontrollerkit------1
2. Powercard-----1
3. Keyboard----1
ALGORITHM:
1. GettheData1intheR0-register.
2. GettheData2intheAregister.
3. LogicalAND, OR,XORAwithR0.
4. Storetheresultinmemory.
5. Stoptheprogram.
OUTPUT:
INPUT OUTPUT
REGISTER DATA ADDRESS DATA
R0-Register 85 4500 9B
A-Register 99
PROGRAM:XOROPERATION
OUTPUT:
INPUT OUTPUT
REGISTER DATA ADDRESS DATA
R0-Register 4500
A-Register
RESULT:
Thus assembly language program for programming using Arithmetic and logical using 8051 was
executed successfully.
PROGRAM:SQUAREOFANUMBER
OUTPUT:
INPUT OUTPUT
ADDRESS DATA ADDRESS DATA
4200 FF 4201 01
4202 FE
EXP.NO: 02 Generation of Square Waveform Using 8051
Date:
AIM:
To write and Executed on assembly language program to performed Generation of Square Waveform Using
8051
APPARATUS:
1. 8051microcontrollerkit------1
2. Powercard-----1
3. Keyboard----1
SQUARE OF A NUMBER
ALGORITHM:
1. GettheDataintheR0-register.
2. GetthesameDataintheBregister.
3. MultiplyAandB.
4. Storetheresultinmemory.
5. Stoptheprogram.
RESULT:
Thus assembly language program for programming Generation of Square Waveform Using 8051 was executed
successfully.
EXP.NO:03 Programming using On-chip Ports in 8051
Date:
AIM:
To write and Executed on assembly language program to performed Programming using On-chip Ports
in 8051
APPARATUS:
1. 8051microcontrollerkit------1
2. Powercard-----1
3. Keyboard----1
PROCEDURE:
The 8051 microcontroller has 40 pins, comprising four I/O ports. The microcontroller uses 8 pins for
specific purposes, while 32 pins are configurable as input and output pins to connect the
microcontroller with peripheral devices. Each port consists of 8 bits, which we can define as an input
or an output.
8051 GPIO Ports details
A port is usually a set of eight pins, and we call them I/O because we can configure them as input or
output. 8051s has four GPIO ports, and each port has eight pins; each pin may have one or more than
one function
which is an open-drain bi-directional I/O port. Open drain simply means a transistor that connects to
the Ground, while bi-directional refers to the fact that this PORT is configurable as an input or an
output. We can use the P0 register to access PORT 0. This register is a bit accessible. Bit accessible
means that we can access individual bits of the register. For example, writing 1 to some bit of the P0
register will configure the corresponding pin as input, while writing 0 will configure that pin as
output. By default, the microcontroller configures every pin as input when it turns on.
P0 Register Pins
When a microcontroller utilizes external memory, it must communicate with this memory using
special pins and send a lower address byte to the external memory using P0 pins. If no external
memory is connected, the microcontroller can use all P0 pins for I/O tasks.
P0 pins don’t have a built-in pull-up resistor.
If we configure p0 as an input, it behaves as if it is “floating”. This means its input resistance
is very high, and its potential becomes uncertain because it is not actively driven by any
source.
When we set the P0 pin of the microcontroller as output, it behaves like an “open drain”. If
we set the logic to 0, the pin connects to the ground (0 V). But if we provide the P0 pin with
logic 1, it behaves as “floating”. In order to keep a stable logic voltage of 5 V, we need to
connect an external pull-up resistor.
Now we are going to see Port 1 and Port 2 with interesting and simple examples. We will make a simple
program that will configure Port 1 as input and Port 2 as output, and whatever input we apply to Port 1 will be
sent to Port 2. Let’s try to code this example. We can write 0xFF to Port 1 to configure it as input, and we can
also skip this step as the microcontroller already configures Port 1 as input by default as it powers on. We can
also configure Port 2 as an output by writing 0 to it.
void main()
{
P1 = 0xFF;
P2 = 0x00;
while (1) {
P2 = P1;
}
}
In this code, we have set Port 1 as input by writing P1 = 0xFF, and then we have set Port 2 as output using
0x00. In the last part, we want to send Port 1’s input to Port 2, so we can simply put Port 2 equal to Port 1.
Result:
Thus assembly language program for programming using On-chip port using 8051 was executed successfully.
….
EXP.NO:04 Programming using Serial Ports in 8051
Date:
AIM:
To write and Executed on assembly language program to performed Programming using Serial
Ports in 8051.
APPARATUS:
1. 8051microcontrollerkit------1
2. Powercard-----1
3. Keyboard----1
Program:
CHECK TRANSMISSION AND RECEPTION OF CHARACTER:
ADDRESS OPCODE LABEL PROGRAM COMMENTS
4100 74 MOV A,#36
4101 36
4102 90 MOV DPTR,#FFCE
4103 FF
4104 CE
4105 F0 MOVX @DPTR,A
4106 74 MOV A,#12 ;To get an output
4107 0A
4108 90 MOV DPTR,#FFC8 ;frequency of 150KHZ at
4109 FF
410A C8
410B F0 MOVX @DPTR,A ;channel 0,so as to get A
410C 74 MOV A,#00 ;band rate of 150KHz at
410D 00
410E F0 MOV @DPTR,A ;channel 0
410F 74 MOVX A,#4E
410G 4E
4111 90 MOV DPTR,#FFC2
4112 FF
4113 C2
4114 F0 MOVX @DPTR,A
4115 74 37 MOV A,#37
4117 F0 MOV @DPTR,A
4118 74 MOVX A,#41
4119 41
411A 90 MOVX DPTR,#FFC0
411B FF
411C C0
411D F0 MOV @DPTR,A
411E E0 MOVX A,@DPTR
Output:
Thus assembly language program for programming using Serial port using 8051 was executed
successfully.
PROGRAM:
AIM:
To write and Executed on assembly language program to performed Programming using Design of a
Digital Clock Using Times/Counters in 8051
APPARATUS:
1. 8086microprocessorkit-----1
2. TrafficLightControllerInterfaceboard-------1
3. Powercard-----1
4. Keyboard----1
OUTPUT:
1500-00 SECONDS
1501-00 MINUTES
1502-09 HOURS
RESULT:
Thus the Programming Design of a Digital Clock Using Times/Counters in 8051 was
executed.
…..
EXP NO: 06(a)
A/D INTERFACE WITH 8051
DATE:
AIM:
Towrite anassemblylanguageprogramforinterfacingofADCwith8051.
ALGORITHM:-
(i) Starttheprogram
(ii) MakeCS=0andsendalowtohighpulsetoWRpintostarttheconversion.
(iii) NowkeepcheckingtheINTRpin.INTRwillbe1ifconversionisnotfinishedandINTR
willbe0 if conversion is finished.
(iv) If conversion is not finished(INTR=1),poll until it is finished.
(v) Ifconversionisfinished(INTR=0),gotothenextstep.
(vi) MakeCS=0andsendahightolowpulsetoRDpintoreadthedatafromtheADC
(vii) Stoptheprogram
PROCEDURE:
(i) PlacejumperJ2inCposition
(ii) PlacejumperJ5inAposition
(iii) Enterandexecutetheprogram
(iv) Varytheanaloginput(using
trimpot)andviewthecorrespondingdigitalvalueinLEDdisplay,
FLOWCHART:
START
MakeCS=0
keepcheckingtheINTRpin
Ifconversionisnotfinished(IN
TR=1)
Ifconversionisfinished(INTR=0)
STOP
PROGRAM:
JumperDetails:-
Fromswitch CH3
B B
Software CH0 A
C CH
ASOC C
Fromlatch
Box
….
35
RESULT:
Thus assembly language program for programming using Interfacing ADC 8051 was
executed successfully.
36
…..
37
EXPNO:06(b)
INTERFACING OF DAC
DATE:
AIM:
TointerfacetheDACwith8051 microcontroller and generate the square wave, saw tooth wave
and triangular wave.
REQUIREMENTS:
S. Hardware&SoftwareRequirements Quantity
No
1 8051TrainerKit 1No
2 PowerChord 1No
3 DACinterfacingboard 1No
4 CRO 1No
38
CIRCUITDIAGRAM:
WAVEFORMS:
39
SQUAREWAVE
OBSERVATION:
AMPLITUDE TIMEPERIOD
5.4 v 2.2s
RESULT:
Thus assembly language program for programming using InterfacingDAC 8051 was executed
successfully.
40
…..
….
41
EXP.NO: 07 BLINKING OF LEDS AND LCD
Date:
AIM:
To write and execute the program for LED & Flashing Led‟swithARM7
(LPC2148) processor.
S. Hardware&SoftwareRequirements Quantity
No
1 ARMProcessorboard 1
2 USB/FRCConnector few
3 LEDModule 1
4 PowerSupplyadaptor(5V,DC) 1
5 Keil&flashmagicSoftware 1
PROCEDURE
1. Create a New project Go to “Project” and close the current project “Close Project”.
2. Next Go to the Project New μ vision Project Create New Project Select Device for Target.
3. SelectthedatabaseNXPLPC2148.
4. Add Start up file and Next go to “File” and click “New”.
5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
6. AddthissourcefiletoGroup andclickon“BuildTarget”orF7.
7. CreateaHexfilefrom “Project”menuandclickon“RebuildalltargetFiles”.
8. OpenFlashmagicandselectthedeviceLPC2148inARM7category,Choosethehardwareconn
ected COMport,baudrate9600,interface None[ISP],Oscillatorfrequency
9. Nextbrowsethepathofhexfileandselectthefile.
10. AfterselectingISPmodeonthe HardwareKitandclickonstart thendevicewillstart
toprogram
11. Finally can be see the finished indication and values in SPJ Terminal and Reset
the device into running mode.
12. 0MHz and click on erase of flash code Rd plot.
42
LED INTERFACING:
CIRCUITDIAGRAM:
PROGRAM:
#include <lpc214x.h>inti;
Int main(){
IODIR0=(1<<3);
while(1)
{IOSET0=(1<<3);for(i=0;i<120000;i++);IOCLR0=(1<<3);for(i=0;i<120000;i++);
43
FLASHING OF LED: CIRCUITDIAGRAM:
PROGRAM: TYPE-I:
#include
<lpc214x.h>inti;
intmain()
{ IODIR0=0x000000
FF;
while(1)
{ IOSET0=0x000000A
A;for(i=0;i<120000;i+
+);I
44
OCLR0=0x000000A;
for(i=0;i<120000;i++);
}
#include
<lpc214x.h>intb,i;
intmain()
{ IODIR0=0x000000F
F;
while(1)
{
for(b=0;b<8;b++)
{IOSET0=(1<<b)
;for(i=0;i<120000;i+
+);IOCLR0=(1<<b);fo
r(i=0;i<120000;i++);
}
for(b=7;b>=0;b--)
{IOSET0=(1<<b)
;for(i=0;i<120000;i+
+);IOCLR0=(1<<b);fo
r(i=0;i<120000;i++);
}
}
45
PROGRAM:
#include
<lpc214x.h>inti,b;
intmain()
{ IODIR0=0x000000
FF;IODIR0=~(1<<16
);
while(1)
{if((IOPIN0&(1<<16))==0)
{
for(b=0;b<8;b++)
{IOSET0=(1<<b)
46
;for(i=0;i<120000;i+
+);IOCLR0=(1<<b);fo
r(i=0;i<120000;i++);
}
}
else
{ IOCLR0=0x000000F
F;
}
}
}
47
BLINKING LCD
AIM:
To write and execute the program for LCD with ARM7(LPC2148) processor.
1 ARMProcessorboard 1
2 USB/FRCConnector few
3 LEDModule 1
4 PowerSupplyadaptor(5V,DC) 1
5 Keil& flashmagicSoftware 1
PROCEDURE
1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
2. NextGotothe ProjectNewμvisionProjectCreate NewProjectSelectDeviceforTarget.
3. SelectthedatabaseNXPLPC2148.
4. AddStartupfileandNextgoto“File”andclick“New”.
5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
6. AddthissourcefiletoGroupandclickon“BuildTarget”orF7.
7. CreateaHexfilefrom“Project”menuandclickon “RebuildalltargetFiles”.
8. Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will
beCOM 3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and c lick
onerase offlashcodeRd plot.
9. Nextbrowsethepathofhexfileandselectthefile.
10. AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart
toprogram
11. Finallycanbeseethe finished indicationandvaluesinSPJTerminalandReset
thedevice intorunning mode.
48
INTERFACING LCD:
CIRCUIT DIAGRAM:
PROGRAM:
#include
<lpc214x.h>#include
<lcd.h>
49
intmain()
{
LCD_INIT();
LCDSTR(0x00000084,"St.ANNES");LCD
STR(0x000000C2,"ENGGCOLLEGE");
while(1)
{
}
}
LCD LAYOUT:
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
C0 C C2 C3 C4 C5 C6 C C8 C9 CA CB CC CD CE CF
1 7
OUTPUT:
80 67 43 34 34 14 51 65 67 87 77 55 33 92 75 25
C3 C4 C6 C3 C9 C0 C2 C8 C0 C2 C4 C5 C1 C3 C1 C3
RESULT:
Thus ARM Processor for programming using Blinking of LEDs and LCD Using ARM was
executed successfully.
50
KEYBOARD INTERFACING:
CIRCUITDIAGRAM:
51
EXPNO:08
INTERFACING OF MATRIX KEYBOARD
DATE
AIM:
To write and execute the program for Matrix Keyboard with ARM 7(LPC2148) processor.
PROCEDURE
1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
2. NextGototheProjectNewμvisionProjectCreate NewProjectSelectDeviceforTarget.
3. Select thedatabaseNXPLPC2148.
4. AddStartupfileandNextgoto“File”andclick“New”.
5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
6. AddthissourcefiletoGroupandclickon“BuildTarget”orF7.
7. CreateaHexfilefrom“Project”menuandclickon “RebuildalltargetFiles”.
8. Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will
beCOM 3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and click
onerase offlashcodeRd plot.
9. Nextbrowsethepathofhexfileandselectthefile.
10. AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart
52
toprogram
PROGRAM:
#include
<lpc214x.h>#include
<lcd.h>#include<keybo
ard.h>
intmain()
{
LCD_INIT();
LCDSTR(0x00000080,"Matrix
Keypad");LCDSTR(0x000000C0,"KeyPr
essed:");
while(1)
{
IO0CLR=CLR;I
O0SET= C1;
delay_ms(10);if(scan(R1))LCDSTR(0x000000
CC,"0");//
K1if(scan(R2))LCDSTR(0x000000CC,"4");//
K5if(scan(R3))LCDSTR(0x000000CC,"8");//
K9if(scan(R4))LCDSTR(0x000000CC,"C");//
K13IO0CLR=CLR;
IO0SET = C2;
if(scan(R1))LCDSTR(0x000000CC,"1");//K2if(
scan(R2))LCDSTR(0x000000CC,"5");//
K6if(scan(R3))LCDSTR(0x000000CC,"9");//
K10if(scan(R4))LCDSTR(0x000000CC,"D");//
K14IO0CLR=CLR;
IO0SET = C3;
if(scan(R1))LCDSTR(0x000000CC,"2");//K3if(
scan(R2))LCDSTR(0x000000CC,"6");//
K7if(scan(R3))LCDSTR(0x000000CC,"A");//
K11if(scan(R4))LCDSTR(0x000000CC,"E");
//K15IO0CLR=CLR;
IO0SET = C4;
if(scan(R1))LCDSTR(0x000000CC,"3");//K4if(
scan(R2))LCDSTR(0x000000CC,"7");//
K8if(scan(R3))LCDSTR(0x000000CC,"B");//
K12if(scan(R4))LCDSTR(0x000000CC,"F");//
K16
53
}
}
AIM:
To write and execute the program for Stepper Motor with ARM 7(LPC2148) processor.
S. No Hardware&SoftwareRequirements Quantity
1 ARMProcessorboard 1
2 USB/FRCConnector few
3 StepperMotorModule 1
4 PowerSupplyadaptor(5V,DC) 1
5 Keil&flashmagicSoftware 1
PROCEDURE
1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
2. NextGototheProjectNewμvisionProjectCreateNewProjectSelectDeviceforTarget.
3. SelectthedatabaseNXPLPC2148.
4. AddStartupfileandNextgoto“File”andclick“New”.
5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
i) AddthissourcefiletoGroupandclickon “BuildTarget”orF7.
ii) CreateaHexfilefrom “Project”menuandclickon“RebuildalltargetFiles”.
iii) Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will beCOM
3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and click onerase
offlashcodeRd plot.
iv) Nextbrowsethepathofhexfileandselectthefile.
54
v) AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart toprogram
vi) Finallycanbeseethefinished indicationandvalues inSPJTerminalandReset thedevice intorunning
mode.
STEPPERMOTOR:(FORWARDROTATION)CIRCUITDIAGRAM:
PROGRAM:
#include
<lpc214x.h>#include<
delay.h>
intmain()
55
{IODIR0=(1<<16)|(1<<17)|(1<<18)|(1<<19)
;
while(1)
{
//FORWARD
DIRECTIONIOCLR0=(1<
<16);IOCLR0=(1<<17);IOS
ET0=(1<<18);
IOSET0=(1<<19);
delay_ms(10);IOC
LR0=(1<<16);IOS
ET0=(1<<17);IOS
ET0=(1<<18);IOC
LR0=(1<<19);
delay_ms(10);IOS
ET0=(1<<16);IOS
ET0=(1<<17);IOC
LR0=(1<<18);IOC
LR0=(1<<19);
delay_ms(10);IOS
ET0=(1<<16);IOC
LR0=(1<<17);IOC
LR0=(1<<18);IOS
ET0=(1<<19);
delay_ms(10); }
}
STEPPERMOTOR:(REVERSEROTATION)CIRCUITDIAGRAM:
56
PROGRAM:
#include
<lpc214x.h>#include
<delay.h>
intmain()
{IODIR0=(1<<16)|(1<<17)|(1<<18)|(1<<19)
;
while(1)
{
//REVERSE
DIRECTIONIOSET0=(1<
<16);IOCLR0=(1<<17);I
OCLR0=(1<<18);IOSET0
=(1<<19);
delay_ms(10);IOS
ET0=(1<<16);IOS
ET0=(1<<17);IOC
LR0=(1<<18);IOC
LR0=(1<<19);
delay_ms(10);IOC
LR0=(1<<16);IOS
ET0=(1<<17);IOS
ET0=(1<<18);IOC
LR0=(1<<19);
delay_ms(10);IOC
LR0=(1<<16);IOC
LR0=(1<<17);IOS
ET0=(1<<18);IOS
ET0=(1<<19);
delay_ms(10);
}
}
57
RESULT:
58
Thus ARM Processor program for programming using Interfacing keyboard and stepper motor
was executed successfully.
59
‘’..
……
60
MINI PROJECT
61
62
PROJECT TITLE
Smart door lock system system
using Arduino
Submitted by
M. Sathish (511522106040)
K. Rohith (511522106034)
V. Prakash (511522106030)
E. Tamilvasanthan (511522106047)
63
64
TABLE OF CONTENT
S. NO CONTENT
1. Abstract
2. Introductions
3. Existing system
4. Proposed system
6. Working principle
7. Coding block
11. Conclusion
12. references
65
ABSTRACT
66
This project presents a Smart Door Lock System using Arduino
UNO, designed to enhance security through electronic access.
The system uses a 4x4 matrix keypad for entering a secure
password, a servo motor to control the door’s lock mechanism, a buzzer
for alert signals, and a 16x2 LCD to display status messages.
It is a standalone, non-WiFi-based solution ideal for home, lab,
and office security.
67
INTRODUCTION
68
In the modern era, security plays a crucial role in both domestic and
industrial applications.
Traditional lock and key systems are vulnerable to duplication and
tampering.
The proposed Smart Door Lock System aims to overcome these
limitations by introducing a password-protected entry mechanism
using microcontroller-based automation.
The project is built entirely on Arduino UNO, making it cost-
effective, simple, and efficient.
69
70
EXISTING SYSTEM
71
PROPOSED SYSTEM
72
The proposed system offers an electronic smart lock based on password
input. It includes:
Arduino UNO (controller)
4x4 Matrix Keypad (user input)
Servo Motor (mechanical locking)
Buzzer (alerts)
16x2 LCD (display status)
The user enters a password via the keypad. The system checks it and
either unlocks the door (with servo rotation and feedback) or alerts an
incorrect attempt. This ensures that only authorized users can access
the door.
73
74
Main Block Diagram
Blocks:
Keypad (Input)
Arduino UNO (Processing)
LCD (Output)
Buzzer (Output)
Servo Motor (Output)
75
WORKING PRINCIPLE
76
1. LCD shows “Enter Password”
2. User enters password using keypad
3. On pressing ‘#’, password is verified
4. If matched:
LCD shows “Access Granted”
Buzzer gives short beep
Servo rotates 90° to unlock
After 5 seconds, re-locks
5.f wrong:
LCD shows “Access Denied”
Buzzer gives long beep
77
CODING BLOCK
78
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include
<Keypad.h> #include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); Servo lockServo;
Const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS]
= { {‘1’,’2’,’3’,’A’}, {‘4’,’5’,’6’,’B’}, {‘7’,’8’,’9’,’C’}, {‘*’,’0’,’#’,’D’}
}; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3,
2};
Keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS,
COLS);
String password = “1234”; String input = “”; int buzzer = 11;
Void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0,0);
lcd.print(“Smart Door Lock”); delay(2000); lcd.clear(); lcd.print(“Enter
Password:”);
79
80
ADVANTAGES, DISADVANTAGES &
APPLICATION
Advantages:
No internet dependency
Cost-effective and easy to implement
LCD provides better user interaction
High customization of passwords
Disadvantages:
81
Applications:
82
Home doors
College labs
Office cabins
Server rooms
Secure storage units
83
FUTURE WORKS:
84
Add fingerprint/RFID module
Integrate SMS alert using GSM
Store access logs in SD card
Add real-time clock for access timestamps
85
Output
86
Here I kept a code with output. After the entering the password in should
open and also it give the range.
Here, the hardware simulated output is given and it in on condition and also
clearly give the circuit connection.
87
CONCLUSION:
88
The Smart Door Lock System using Arduino UNO provides a
simple, secure, and affordable access control solution.
It enhances safety with minimal hardware and coding
complexity.
The use of an LCD ensures better feedback and user
experience.
89
REFERENCES:
90
www.arduino.cc
Instructables Arduino Projects
CircuitDigest Tutorials
Embedded Systems by Raj Kamal
91