TITLE: SMART DOORLOCK USING FINGERPRINT
SENSOR
GROUP:
1. Sharmila Brisca.M
2. Saranya Devi.B
3. Shaleeni.S
4. Deepika.S
5. SarikaShree.B
6. Deepika.A
7. Likitha Sri.M
8. Afreen.A
9. Pooja Lakshmi.V
10. Anu priya.G
CONCEPT:
o In this project, we have developed a smart door lock system using a
fingerprint sensor to open and close the door.
o We used Arduino Uno microcontroller and fingerprint sensor, L293D
driver IC to drive the dc gear motor and the motor is coupled with the
door lock.
o When the fingerprint match than only the door open or close. Who has
authorized person only can open the door, If any unauthorized person
trying to open the door means they can’t open the door because the
fingerprint sensor never accepts the fingerprint there is no response from
the microcontroller side.
Proposed System:
Normally in human life safety is very most.
In this, we used a fingerprint sensor to open the door lock and close the
door lock. These processes are controlled by Arduino Uno
microcontroller. In this method who is an authorized person they only can
open the door.
Block Diagram:
Hard ware
Tools:
1.Arduino Uno 2. Fingerprint Sensor 3. DC Motor
4.Door Lock:
Software Tools:
1.Arduino IDE
2.Embedded-C:
First we proceed to download the library for Arduino from the
following link:
https: //github.com/Adafruit/Adafruit-fingerprint-S …
Once downloaded, the library is unzipped and saved in: C: Program
Files (x86) Arduino libraries It is necessary to rename the library
folder in case the “.cpp” file is found with a different name is in it.
Code:
#include
int getFingerprintIDez();
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino (WHITE wire)
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
Serial.println(“fingertest”);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println(“Found fingerprint sensor!”);
} else {
Serial.println(“Did not find fingerprint sensor :(“);
while (1);
}
Serial.println(“Waiting for valid finger…”);
}
void loop() // run over and over again
{
getFingerprintIDez();
delay(50); //don’t ned to run this at full speed.
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println(“Image taken”);
break;
case FINGERPRINT_NOFINGER:
Serial.println(“No finger detected”);
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println(“Communication error”);
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println(“Imaging error”);
return p;
default:
Serial.println(“Unknown error”);
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println(“Image converted”);
break;
case FINGERPRINT_IMAGEMESS:
Serial.println(“Image too messy”);
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println(“Communication error”);
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println(“Could not find fingerprint features”);
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println(“Could not find fingerprint features”);
return p;
default:
Serial.println(“Unknown error”);
return p;
}
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println(“Found a print match!”);
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println(“Communication error”);
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println(“Did not find a match”);
return p;
} else {
Serial.println(“Unknown error”);
return p;
}
// found a match!
Serial.print(“Found ID #”); Serial.print(finger.fingerID);
Serial.print(” with confidence of “); Serial.println(finger.confidence);
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print(“Found ID #”); Serial.print(finger.fingerID);
Serial.print(” with confidence of “); Serial.println(finger.confidence);
digitalWrite(13, HIGH);
delay(3000);
digitalWrite(13, LOW);
return finger.fingerID;
}
#include
#include
int getFingerprintIDez();
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino (WHITE wire)
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
Serial.println(“fingertest”);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println(“Found fingerprint sensor!”);
} else {
Serial.println(“Did not find fingerprint sensor :(“);
while (1);
}
Serial.println(“Waiting for valid finger…”);
}
void loop() // run over and over again
{
getFingerprintIDez();
delay(50); //don’t ned to run this at full speed.
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println(“Image taken”);
break;
case FINGERPRINT_NOFINGER:
Serial.println(“No finger detected”);
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println(“Communication error”);
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println(“Imaging error”);
return p;
default:
Serial.println(“Unknown error”);
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println(“Image converted”);
break;
case FINGERPRINT_IMAGEMESS:
Serial.println(“Image too messy”);
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println(“Communication error”);
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println(“Could not find fingerprint features”);
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println(“Could not find fingerprint features”);
return p;
default:
Serial.println(“Unknown error”);
return p;
}
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println(“Found a print match!”);
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println(“Communication error”);
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println(“Did not find a match”);
return p;
} else {
Serial.println(“Unknown error”);
return p;
}
// found a match!
Serial.print(“Found ID #”); Serial.print(finger.fingerID);
Serial.print(” with confidence of “); Serial.println(finger.confidence);
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print(“Found ID #”); Serial.print(finger.fingerID);
Serial.print(” with confidence of “); Serial.println(finger.confidence);
digitalWrite(13, HIGH);
delay(3000);
digitalWrite(13, LOW);
return finger.fingerID;
}
Uses:
The design and implementation of
fingerprint based door lock system is
customizable
and flexible. This door locking
mechanism is comparatively cost-
effective than the
available lock systems in the
traditional market. Our fingerprint
based lock system has
high accuracy rate and is also quick to
recognize fingerprints which enable
seamless
integration with the users and
provides tighter security. In our
country, private and
government organizations are very
much concerned about security. Many
companies
are interested in using this type of
locking mechanism but the system
which is
available have very high installation
cost. Due to this excessive cost,
many small
firms cannot afford such systems.
Keeping the installation cost in mind
we planned to
develop a system that should be
affordable to both large and small
firms. This design
can be improved by more intensive
development and additional features
such as more
locks can be added to the system.
Thus we do not need to spend so much
for just one
lock if this can be used to control
several doorways. A system to save
prints without
the use of a computer could have been
made, but it will require more parts
than the
ones we used. In order to maintain
security properly, the whole
mechanism should be
placed inside the door panel or on the
other side of the door. A system for
batteries
could also be made or even solar
powered. One of the main advantages
of this system
is its flexibility. Several other
systems can be implemented with
this system. The
system is very secure. Fingerprints are
unique and the sensor is able to
identify all of
the prints during testing. It provides
greater control for access to
restricted places.
There are some drawbacks of this
system such as this system is
complicated and
difficult to make any change in the
hardware as it is a closed system.
Also it needs
high power to operate so providing
continuous power through batteries is
a challenge
sometimes. A power failure will make
it unworkable. In that case, we can,
connect the
system with an IPS or add
rechargeable batteries to the system.
The design and implementation of fingerprint based door lock system
is customizable and flexible.
This door locking mechanism is comparatively cost-effective than
the available lock systems in the traditional market.
Our fingerprint based lock system has high accuracy rate and is also
quick to recognize fingerprints which enable seamless integration
with the users and provides tighter security.
Due to this excessive cost, many small firms cannot afford such
systems. Keeping the installation cost in mind we planned to develop
a system that should be affordable to both large and small firms.
This design can be improved by more intensive development and
additional features such as more locks can be added to the system.
Thus we do not need to spend so much for just one lock if this can be
used to control several doorways.
A system to save prints without the use of a computer could have
been made, but it will require more parts than the ones we used.
In order to maintain security properly, the whole mechanism should
be placed inside the door panel or on the other side of the door.
A system for batteries could also be made or even solar powered.
One of the main advantages of this systemis its flexibility.
Several other systems can be implemented with this system.
The system is very secure. Fingerprints are unique and the sensor is
able to identify all of the prints during testing.
It provides greater control for access to restricted places.