Fingerprint-Based Door Locking System - Electronic Engineering Guide
1. Introduction
The Fingerprint-Based Door Locking System is a secure access control project that uses biometric authentication. It employs a fingerprint sensor to identify authorized individuals and activates a locking mechanism using a microcontroller.
2. Objectives
• To implement a secure, biometric-based access system.
• To restrict unauthorized access using fingerprint recognition.
• To provide an automated and reliable door locking solution.
3. Components Required
• Arduino Uno or compatible microcontroller
• R305/R307 Fingerprint Sensor Module
• Servo motor or solenoid lock
• LCD Display (16x2) (optional)
• Buzzer (optional for alerts)
• Power supply (battery or adapter)
• Jumper wires, breadboard
4. System Overview
The system captures a fingerprint and compares it with stored fingerprints in memory. If a match is found, the microcontroller activates the servo motor to unlock the door. An LCD can provide real-time status updates (e.g., Access Granted, Access Denied).
5. Fingerprint Sensor and Microcontroller Integration
The fingerprint sensor communicates with the Arduino via serial (UART). Typically, the sensor has TX, RX, VCC, and GND pins. Fingerprints are enrolled and stored via the sensor using Arduino code or a GUI tool.
6. Circuit Design and Operation
• Fingerprint Sensor: VCC → 5V, GND → GND, TX → D2, RX → D3
(via SoftwareSerial)
• Servo Motor: Signal → D9, Power → 5V, GND → GND
When a user places a finger on the sensor, the system checks for a match. On
success, the servo rotates to unlock the door and returns to the locked
position after a delay.
7. Software and Code Explanation
The Arduino uses the Adafruit Fingerprint Sensor Library for
enrolling and matching fingerprints.
Example Code Snippet:
#include <Adafruit_Fingerprint.h>
#include <Servo.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
Servo myServo;
void setup() {
myServo.attach(9);
Serial.begin(9600);
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Sensor
detected.");
}
}
void loop() {
getFingerprintID();
delay(50);
}
uint8_t getFingerprintID() {
if (finger.getImage() !=
FINGERPRINT_OK) return;
if (finger.image2Tz() !=
FINGERPRINT_OK) return;
if (finger.fingerFastSearch() !=
FINGERPRINT_OK) {
Serial.println("Access
Denied");
return;
}
Serial.println("Access
Granted");
myServo.write(90);
delay(3000);
myServo.write(0);
}
8. Applications
• Residential and commercial door security
• Locker and drawer security systems
• Smart homes and IoT access control
• School, office, and hostel entrances
9. Challenges and Future Enhancements
• Difficulty reading dirty or damaged fingerprints.
• Limited storage for fingerprints on some sensors.
• Integrate with mobile apps for remote unlock.
• Add logging and real-time notification via IoT modules.
• Multi-modal biometric authentication (e.g., fingerprint + RFID).
10. Conclusion
The Fingerprint-Based Door Locking System enhances security by using biometric verification. It offers a reliable and user-friendly access control solution that can be implemented in homes and institutions.