Professional Documents
Culture Documents
INTRODUCTION
1.1 Introduction
BIOMETRICS comes from ancient Greek scripts. It means study of life. The study of
biometrics generally includes many topics; some of them are fingerprint, face, iris, voice,
signature, and hand geometry recognition and verification. Fingerprint is trait that proves
to be one of the best traits providing good mismatch ratio. It is also used as a reliable
security key. Recently by using this we are providing perfect security to bank lockers and
even it makes banking work easier. We are taking the help of two different technologies
viz. Embedded Systems and Biometrics. In this project we are using our fingerprint and
password as a key to open bank locker there by avoiding the usage of keys. There by
providing security and reliability.
1.3 Objectives
The study of this project is to find out how fingerprint module has been interrelated with
embedded system technology. The main objective of this project is to justify, how to
provide best security to bank lockers by using a unique module called fingerprint module.
In this system fingerprint of a person is stored and identified by using system technology.
If a person enters a locker room, he needs to scan his fingerprint in the fingerprint
scanner.Then the system verifies the fingerprint in a second after then he needs to enter the
1
desired password. Thus fingerprint, password are used avoiding the usage of keys and
providing good security for our lockers.
The scope of this project is heart of entire project is microcontroller. Many ancient
methodologies have come up like signature, face, iris, voice identification, but all these
can be imitated or fabricated. Fingerprint is completely unique and it is unique for every
individual and stayed unchanged for lifetime. So our project is a real time project to
provide perfect authentication using finger print technology. Security levels can also be
increased& expanded by using finger print technology. This technology consumes low
power and its application is flexible.
Methodology describes the manner how data is collected, analyzed and interpreted. To
complete the report data would be collected from primary and secondary data source. The
sources are mentioned below:
2
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction:
This project is related with embedded systems and biometrics technologies. The main
objective of this project is, to provide safety for our bank lockers and reliability. It uses
fingerprint and password as a key to open the bank locker.
In the application of this system the images of the persons are authorized to enter into the
locker room will be stored in the module with a unique id. To prove that the person who is
authorized to enter that area he needs to scan his images. This scanner is interfaced to
8051 microcontroller. The scanning process can be controlled by using keypad, controlling
system and the controller. When the system is generalizing the fingerprint of the person,
he has to enter the unique id which has been given to him to open his locker. If the
fingerprint is matched immediately the locker will be opened. After the work has been
completed a switch is to press to close the locker again. If an unauthorized person tries to
scan his finger image an indication will be given by a buzzer which is interfaced to the
controller. An authorized person can have three time chances to re-enter his id if he forgets
the assigned id for his fingerprint.
This project uses regulated 5V, 500mA power supply. 7805 three terminal voltage
regulator is used for voltage regulation. Bridge type full wave rectifier is used to rectify
the ac output of secondary of 230/12V step down transformer,NGE-OP67
module,AT89S52,lcd,stepper motor, keypad.
3
standard 80C51 instruction set and pinot. The on-chip Flash allows the program memory
to be reprogrammed in-system by combining a versatile 8-bit CPU with in-system
programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful
microcontroller which provides highly-flexible and cost-effective solution to many
embedded control applications.
The AT89S52 provides the following standard features: 8K bytes of Flash, 256 bytes of
RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, axis-
vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator and
clock circuitry.
Features
• Compatible with MCS-51® Products
• 8K Bytes of In-System Programmable (ISP) Flash Memory
– Endurance: 1000 Write/Erase Cycles
• 4.0V to 5.5V Operating Range
• Fully Static Operation: 0 Hz to 33 MHz
• Three-level Program Memory Lock
• 256 x 8-bit Internal RAM
• 32 Programmable I/O Lines
• Three 16-bit Timer/Counters
• Eight Interrupt Sources
• Full Duplex UART Serial Channel
• Low-power Idle and Power-down Modes
• Interrupt Recovery from Power-down Mode
• Watchdog Timer
• Dual Data Pointer
• Power-off Flag
4
Optic fingerprint enrollment device, NGE - OP 67 hardware as well as
fingerprint algorithm.
Wide Application Range of Fingerprints with Different Quality
Self-adaptive parameter adjustment mechanism is used in the course of finger
Print enrollment. This ensures good image quality for even dry or wet fingers, thus
it has wider application range.
Low Price
The cost of module is greatly reduced by using self-developed optic
fingerprint enrollment device.
Easy to Use and Expand
It is not necessary for user to have professional knowledge in the field of
fingerprint verification. User can develop powerful fingerprint verification
application systems with the command set provided by NGE - OP 67.
Low Power Consumption
Sleep/awake control interface makes NGE - OP 67 suitable for occasions
that require low power consumption.
Different Security Levels
User can set different security level according to different application
environment.
5
fingerprint information. The saving, matching and capturing of fingerprint templates are
all manipulated through fingerprint features.
● 1:1
Comparing 2 fingerprint templates, return info: matching or not matching.
● 1:N Searching
Search the matching fingerprint from numbers of fingerprint features.
Return info: No matching features or having matching features and returning the matching
feature’s Id simultaneity.
System parameter and interface
1. Power supply ………………………5V
2.Working current ……………………170mA
3. Peak value current …………………200mA
4. Fingerprint input time……………… <250ms
5. 1:1 matching time ……………………<600ms Matching features + matching
6.1:900 searching time…………………. <2s
7.Fingerprint capacity Max…………….. 960
8.FAR(False Acceptance Rate) …………<0. 001 %
9.FRR (False Rejection Rate)……………<1.5 %
10.Fingerprint template size …………….. 512bytes
11. Outer interface …………………………UART
12.Baud rate ………………………………..9600bps.
2.4 ULN2003:
The ULN2001A, ULN2002A, ULN2003 and ULN2004Aare high Voltage, high current
Darlington arrays each containing seven open collector Darlington pairs with common
emitters. Each channel rated at 500mAand can withstand peak currents of
600mA.Suppressiondiodesare included for inductive load driving and the inputs are
pinned opposite the outputs to simplify board layout.
These versatile devices are useful for driving a wide range of loads including solenoids,
relays DC motors; LED displays filament lamps, thermal print heads and high power
buffers. The ULN2001A/2002A/2003A and 2004A are supplied in 16 pin plastic DIP
6
packages with a copper lead frame to reduce thermal resistance. They are available also in
small outline package (SO-16) as ULN2001D/2002D/2003D/2004D.
FEATURES OF DRIVER:
· Simplified layout
A stepper motor (or step motor) is a brushless, synchronous electric motor that can divide
a full rotation into a large number of steps. The motor's position can be controlled
precisely, without any feedback mechanism (see open loop control). Stepper motors are
similar to switched reluctance motors (which are very large stepping motors with a
reduced pole count, and generally are closed-loop commutated).
Stepper motors are constant power devices.As motor speed increases, torque decreases.
(most motors exhibit maximum torque when stationary, however the torque of a motor
when stationary 'holding torque' defines the ability of the motor to maintain a desired
position while under external load).Steppers exhibit more vibration than other motor types,
as the discrete step tends to snap the rotor from one position to another (called a detent).
The vibration makes stepper motors noisier than DC motors.
Generally for opening locks we cannot use dc motor so here we are using stepper motor to
open the locker .It produces a step angle of 90 in order to close or to open the locker.
7
2.6 Liquid Crystal Displays (LCD)
A liquid crystal display (LCD) is a thin, flat display device made up of any number of
color or monochrome pixels arrayed in front of a light source or reflector. Each pixel
consists of a column of liquid crystal molecules suspended between two transparent
electrodes, and two polarizing filters, the axes of polarity of which are perpendicular to
each other. Without the liquid crystals between them, light passing through one would be
blocked by the other. The liquid crystal twists the polarization of light entering one filter to
allow it to pass through the other.
The power supply circuits built using filters, rectifiers, and then voltage regulators.
Starting with an ac voltage, a steady dc voltage is obtained by rectifying the ac voltage,
then filtering to a dc level, and finally, regulating to obtain a desired fixed dc voltage. The
regulation is usually obtained from an IC voltage regulator unit, which takes a dc voltage
and provides a somewhat lower dc voltage, which remains the same even if the input dc
voltage varies, or the output load connected to the dc voltage changes.
2.8 MAX232:
The MAX232 is an integrated circuit that converts signals from an RS-232 serial port to
signals suitable for use in TTL compatible digital logic circuits. The MAX232 is a dual
driver/receiver and typically converts the RX, TX, CTS and RTS signals.
The drivers provide RS-232 voltage level outputs (approx. ± 7.5 V) from a single + 5 V
supply via on-chip charge pumps and external capacitors. This makes it useful for
implementing RS-232 in devices that otherwise do not need any voltages outside the 0 V
to + 5 V range, as power supply design does not need to be made more complicated just
for driving the RS-232 in this case.
8
CHAPTER 3
DESIGN
3.1 Overview of Existing System
By this we can’t say that we are going to provide good security to our lockers.
9
Fig. 3.2 Draw Backs of Present System
o Biometrics(Finger Print)
o Embedded Design(Password).
Switch
Supply
10
3.5 Flo Chart
yes
Transformer
Bridge Rectifier
Regulator
3.7 Microcontroller
89S52 microcontroller.
11
RAM 256Bytes.
8051 microcontroller.
12
3.9 Master mode
13
3.10 User mode
14
Fig. 3.9 User mode
3.11 LCD
15
3.12 Password Protection
Unique id (password) which is given to user to open his locker with the help of a
keypad
Any port was used to handle our alpha-numeric keypad.
16
Fig. 3.11 Password Protection
After the work by using reset pin user will secure their locker.
17
Fig. 3.12 Stepper motor
3.14 Advantages
Most secure
No manual errors
3.16 Applications
Voter Identification and electoral enrollment
Industries
Personal Computer
18
GSM modem can be connected to this unit to communicate to security department, in case
of unauthorized entry trials.
CHAPTER 4
SOFTWARE IMPLEMENTATION
4.1 Introduction:
The Keil 8052 compiler package includes uVision2 which is an Integrated Development
Environment (IDE) along with all the utilities you may need to create embedded
application programs for the Micro Controller family. Keil is a cross compiler. So first we
have to understand the concept of compilers and cross compilers. After then we shall learn
how to work with keil.
Concept of compiler:
Compilers are programs used to convert a High Level Language to object code. Desktop
compilers produce an output object code for the underlying microprocessor, but not for
19
other microprocessors. I.E the programs written in one of the HLL like ‘C’ will compile
the code to run on the system for a particular processor like x86 (underlying
microprocessor in the computer). For example compilers for Dos platform is different
from the Compilers for Unix platform
A cross compiler is similar to the compilers but we write a program for the target
processor (like 8051 and its derivatives) on the host processors (like computer of x86) It
means being in one environment you are writing a code for another environment is called
cross development. And the compiler used for cross development is called cross compiler
2)Enrolling
3)Identifying
4.2.1 LOGIC 1:
The logic that is used to interface the LCD includes LCD initialization, writing data, a
delay logic and setting of LCD commands.
4.2.2 LOGIC 2:
In this project first of all authenticated person has to scan his finger print.
Fingerprint authentication has particularly proved its high efficiency and further enhanced
20
the technology in providing security.The logic used is used for enrolling the fingerprint in
the finger print module there our fingerprints are stored in the ROM inside it.
The finger print module can operate in 2 modes they are Master mode and User
mode. We will be using Master mode to register the fingerprints which will be stored in
the ROM present on the scanner with a unique id. When this module is interfaced to the
microcontroller, we will be using it in user mode. In this mode we will be verifying the
scanned images with the stored images. In this logic we are using in module in the master
mode.
If the enrollment is done successfully then we will get a message enroll success otherwise
enroll failed.
4.2.3 LOGIC 3:
After enrollment next step is identification. In this mode we will be verifying the scanned
images with the stored image.If at all the scanned fingerprint matches with the stored
image then a message is displayed on the lcd that is” Identification success”.If an
unauthorized person tries to scan his fingerprint then a message will be displayed on the
lcd” Identification failed” then buzzer will start to ring indicating that a wrong person has
entered the room.After identification step a message appears on the lcd “enter the
password” then we need to enter the specified password.After entering the password then
the bank locker will be opened after sometime it will be closed.
If the password is wrong then a message will be displayed on the lcd”wrong password”
4.3.1 ALGORITHM:
1. Start
21
2. Initialize the LCD
22
23
Fig. 4.1 2Flow Chart for Logic
The source code that is written to interface the LCD with the microcontroller is as follows.
//===============================================
//LCD PROTOTYPES
void Delay();
voidlcd_init(); //lcdinitialisation
voidlcd_clear(); //clear display
24
voidlcd_cmd(unsigned char); //set the lcd address or command
voidlcd_char(unsigned char); //write the character to LCD
voidlcd_print(unsigned char *); //write the string to LCD
//===============================================
sbit RS=P1^6; //REGISTER SELECT
sbit EN =P1^7; //ENABLE
#define LCD P2 //DATA0-DATA7 TO P2
//===============================================
unsigned char i;
//===============================================
void Delay()
{
unsigned char j;
for(i=0;i<15;i++)
for(j=0;j<95;j++);
}
//===============================================
voidlcd_init()
{
lcd_cmd(0x38);
lcd_cmd(0x01);
lcd_cmd(0x0C);
lcd_cmd(0x06);
lcd_cmd(0x80);
}
//===============================================
voidlcd_clear(void)
{
lcd_cmd(0x01);
lcd_cmd(0x80);
}
//===============================================
voidlcd_cmd(unsigned char cmd)
25
{
Delay();
LCD =cmd;
RS =0;
EN =1;
for(i=0;i<100;i++);
EN =0;
for(i=0;i<100;i++);
}
//===============================================
while(*str)
LCD =*str;
RS =1;
EN =1;
Delay();
EN =0;
str++;
4.3.4 DESCRIPTION:
The logic that is used to interface the LCD with the microcontroller includes LCD
initialization initially and then the lcd is to be cleared, then the commands are set to set the
address of the display and then a delay function is used to generate some delay. As per the
command the display occurs. Configure port 1 as input port. This is the logic that is used
to interface the LCD to the microcontroller. Thus the logic that is used to interface the
LCD to the microcontroller can be explained.
26
4.4 LOGIC2: ENROLLMENT
4.4.1 ALGORITHM:
m1=P3^2,m2=P3^3,m3=P3^4,m4=P3^5,and buzz=P1.7
STEP3:clear the lcd and print ‘finger print based banklocker system,
STEP4:clear the LCD and then display put your finger and press 1:ENROLLING
2:IDENTIFYING
success
STEP8: ELSE enroll failed thenBuz=1 then after some delay buz=0
27
4.4.1 FLOW CHART:
START
Assign
M1=P3^2,M2=P3^3
M3=P3^4,M4=P3^5
Buz = P1^7;
If KEY=1
key=1
enrolling
Yes
No
If step7
step7
Stop
28
Fig. 4.3: Flow Chart of Intialize MC with registers
#include <AT89X51.H>
#include <LCD_8_BIT.H>
#include <UART.H>
#include <Keypad.H>
/**********************************************************/
voidEntpass();
**********************************************************/
sbitBuz = P1^7;
/**********************************************************/
/**********************************************************/
unsignedinti,k=0;
29
for(i=0;i<itime;i++)
for(k=0;k<1000;k++);
/**********************************************************/
void main()
Buz=0;
m1=0;m2=0;m3=0;m4=0;
lcd_init();
uart_init();
lcd_clear();
lcd_cmd(0xC0);
lcd_print(" BIETCollege");
Delay1(400);
Start:
lcd_clear();
lcd_print("Finger Print");
lcd_cmd(0xC0);
Delay1(400);
while(1)
lcd_clear();
30
lcd_print("Put Ur Finger & ");
lcd_cmd(0xC0);
lcd_print("Pres-1:ENR,2:IDT");
key = keypad();
if(key =='1')
lcd_clear();
lcd_print("Enrolling....");
Delay1(100);
i=0;
while(i<12)
uart_char(Enroll[i]);
i++;
RI=0;
for(i=0;i<14;i++)
while(!RI);
fp[i] = SBUF;
RI=0;
if((fp[0]==0xEF)&&(fp[1]==0x01)&&(fp[9]==0x00))
lcd_clear();
31
lcd_print("Enroll Success");
Delay1(400);
b1=0; b2=0;
b1=fp[11]/10;
b2=fp[11]%10;
lcd_cmd(0xC0);
lcd_print("Id:");
lcd_cmd(0xC3);
lcd_char(b1+0x30);
lcd_char(b2+0x30);
Delay1(500);
goto Start;
else
lcd_clear();
lcd_print("Enroll Failed");
Buz=1;
Delay1(400);
Buz=0;
goto Start;
4.4.4 DESCRIPTION:
32
Initialize the registers of microcontroller,LCD, UART and Keypad, and then assign the
switches to M1=P3.2,M2=P3.3,M3=P3.4,M4=P3.5 respectively and buzzer to P1.7 of
microcontroller. There is a unique code for enrolling finger print by using pack commands.
First of all clear LCD then it will display a message “Finger print bank locker system”.
After some delay it displays another message “Put your finger , Pres-1:ENR,2:IDT”.
If we press the key1 in the keypad then lcd displays “ Enrolling”, then we need to scan our
finger print in the finger print scanner. If the finger print is successfully stored then enroll
is success If the enrollment is not done successfully, then lcd will display a message
“Enroll failed”. Then buzzer will change from 1 to 0 state.
4.4.1 ALGORITHM:
STEP0: Start
STEP5: Else displays “Identifying Failed” then buzzer will ON and goto STEP0.
STEP8: Stop.
33
4.5.2 FLOWCHART:
34
START
If
key=2
Identifying
No Yes
If key=2
step4
Enter password
yes No
Check password
password
delay
Locker is closed
Stop
35
if(key =='2')
lcd_clear();
lcd_print("Identifying....");
i=0;
while(i<12)
uart_char(Identify[i]);
i++;
i=0;
while(i<16)
while(!RI);
fp[i] = SBUF;
RI=0;
i++;
if((fp[0]==0xEF)&&(fp[1]==0x01)&&(fp[9]==0x00))
lcd_clear();
lcd_print("Identification");
lcd_cmd(0xC0);
lcd_print("Success");
I Delay1(400);
36
b1=0; b2=0;
b1=(fp[11])/10;
b2=(fp[11])%10;
lcd_cmd(0xC9);
lcd_print("Id:");
lcd_cmd(0xCC);
lcd_char(b1+0x30);
lcd_char(b2+0x30);
Delay1(300);
lcd_clear();
lcd_print("Enter Password:");
Entpass();
if((str[0]=='1')&&(str[1]=='2')&&(str[2]=='3')&&(str[3]=='4'))
lcd_clear();
lcd_print("Locker opening....");
//======FORWARD======//
for(i=0;i<4;i++)
m1=1;m2=1;m3=0;m4=0;
Delay1(40);
m1=0;m2=1;m3=0;m4=0;
Delay1(40);
m1=0;m2=1;m3=1;m4=0;
Delay1(40);
37
m1=0;m2=0;m3=1;m4=0;
Delay1(40);
m1=0;m2=0;m3=1;m4=1;
Delay1(40);
m1=0;m2=0;m3=0;m4=1;
Delay1(40);
m1=1;m2=0;m3=0;m4=1;
Delay1(40);
m1=1;m2=0;m3=0;m4=0;
Delay1(40);
Delay1(500);
lcd_clear();
lcd_print("Locker closing....");
//======REVERSE======//
for(i=0;i<4;i++)
m1=1;m2=0;m3=0;m4=0;
Delay1(40);
m1=1;m2=0;m3=0;m4=1;
Delay1(40);
m1=0;m2=0;m3=0;m4=1;
Delay1(40);
m1=0;m2=0;m3=1;m4=1;
Delay1(40);
38
m1=0;m2=0;m3=1;m4=0;
Delay1(40);
m1=0;m2=1;m3=1;m4=0;
Delay1(40);
m1=0;m2=1;m3=0;m4=0;
Delay1(40);
m1=1;m2=1;m3=0;m4=0;
Delay1(40);
Delay1(50);
goto Start;
else
lcd_clear();
lcd_print("Wrong Password");
Delay1(400);
goto Start;
else
lcd_clear();
lcd_print("Identification");
lcd_cmd(0xC0);
39
lcd_print("Failed");
Buz=1;
Delay1(400);
Buz=0;
goto Start;
/**********************************************************/
void Entpass()
unsigned intloc=0xC0;
while(1)
key=keypad();
lcd_cmd(loc);
lcd_char(key);
Delay1(150);
str[n]=key;
loc++;
n++;
if(n>=4)
break;
40
}
4.5.4 DESCRIPTION:
After enrollment is done successfully the next step is identification. here in this code we
are using key 2 in the keypad for identification. Meanwhile we need to scan our finger for
identification if identification is done successfully the lcd displays a message that
“identification success “otherwise it displays a message “identification failed”
In case of successful identification the next step is entering the password we need to
enter the correct password then locker will be opened automatically by the stepper motor
and after some delay it will be closed.
If we type the wrong password locker will not be opened again we need to do
identification her in this logic we are declaring variables m1,m2,m3,m4 and initializing
them with various values for producing the step angle in the stepper motor.
41
CHAPTER 5
RESULTS
5.1Introduction:
The idea behind this project fingerprint based bank locker system is to provide high
security to our bank lockers and also providing reliability i.e no need to carry keys ,no
manual errors ,no false intrusion, no need to carry cards, easy transaction etc. Here
microcontroller and fingerprint module are the main components of this system
.Microcontroller is used for interfacing and controlling all the devices whereas finger print
module does the operations such as able to conduct fingerprint image processing, template
generation, template matching, fingerprint searching, template storage, etc. where entering
of password enrollment and identification are done through software coding .
42
5.2 Schematic diagram of project
43
5.3 Photograph of Hardware KIT
5.4 DESCRIPTION:
This circuit consists of a Finger print scanner, an 8051 microcontroller, auln driver, a lcd,a
stepper motor, keypad. Image Registration: Through Serial Communication
The main module of this project is finger print scanner. So we are concentrating on
Fingerprint scanning. When this module is interfaced to the microcontroller, we will be
using it in user mode. In this mode we will be verifying the scanned fingerprint with the
stored fingerprint id to prove a person is authorized to enter that area he need to scan
hisfingerprint. This fingerprint module is connected to port3.0,3.1.NG OP67 is the finger
print scanner we are using her it can store upto 960 records.It has inbuilt DSP and flash,It
provides best quality of scanning.
44
After the scanning has been completed the person has to enter the unique id which is given
to him to open his locker with the help of a keypad. Here keypad is used for entering
password
When coming to our application the images of the persons who are authorized to enter into
the locker room will be stored in the module with a unique id. To prove that the persons
are authorized to enter that area they need to scan their images. This scanner is interfaced
to 8051 microcontroller. By using this controller we will be controlling the scanning
process. After the scanning has been completed the person has to enter the unique id which
is given to him to open his locker with the help of a keypad. Immediately the locker will
be opened. After the work has been completed if a switch is pressed the locker will be
closed again. If an unauthorized person tries to scan his fingerprint an indication will be
given by a buzzer which is interfaced to the controller. If an authorized person forgets his
id he will be given chance for three times to re-enter the id assigned for his fingerprint.
45
CHAPTER 6
CONCLUSION&FUTURE SCOPE
TO WORK
6.1 Conclusion
In ‘Finger Print Based Bank Locker System’ we observed practical implementation finger
print technology. Fingerprint authentication has particularly proved its high efficiency and
further enhanced the technology in providing security.
Even features such as a person’s gait, face, or signature may change with passage of time
and may be fabricated or imitated. A fingerprint is completely unique to an individual and
it remains unchanged for lifetime. An exclusive demonstration proves that fingerprint
authentication is far more accurate and efficient than any other methods of authentication.
By using finger print technology,we can also increase and expand security levels.Finger
print technology application consumes low power and flexible.
So by this project we successfully avoided the usage of keys instead used fingerprint and
password as key to open the locker thus providing safety and high reliability we increase
the no of fingerprints storage by connecting this system to a database.
The main advantages of our project are sophisticated security, no manual errors, accuracy,
no false intrusion, need not to carry any card and none can steal the user’s entry key.
46
It can be used as E-Voting system if we remove the stepper motor
Automatic diving license system
No need of manual security if all banks are operated by using fingerprint
technology.
47
REFERENCES
Text Books:
Basics of Biometrics
-- David Louis
Website:
www.wikipedia.com
Magazines:
Electronics for you
www.biometrics.com
www.eceprojects.com
www.wikipedia.com
www.answers.com
www.fingerprintindia.com
www.google.com
www.atmel.com
www.ieeeprojects.com
http://www.electro_tech_online.com
48