How to Designing an Arduino-Based Smart Door Lock System
37 Views, 0 Favorites, 0 Comments
How to Designing an Arduino-Based Smart Door Lock System

This project introduces a smart door locking solution built on Internet of Things (IoT) principles, intended to replace traditional mechanical locks with a more intelligent and user-friendly system. Many individuals face uncertainty regarding whether their doors are securely locked. This system aims to ease such concerns by enabling mobile-based control through Bluetooth, allowing the use of a smartphone's fingerprint sensor or password for access. Users can monitor locking activity in real time. Built with an Arduino Uno and cost-effective components, the system is accessible, affordable, and intuitive enough for users across all age groups.
Supplies
Arduino Uno, the HC-05 Bluetooth module, and the L293D motor driver, smartphone
The IoT-enabled smart door lock developed in this project serves as a modern solution for secure and remote-controlled access. Unlike conventional locks that pose risks such as key loss or duplication, this system utilizes encrypted digital authentication to ensure safer entry. Leveraging Arduino Uno, the HC-05 Bluetooth module, and the L293D motor driver, the design eliminates the need for dedicated biometric hardware by using smartphone-based fingerprint validation. Users can select either password or fingerprint verification, and the mobile app provides live status updates for added control and security.
Block Diagram

The diagram illustrates the integration between Arduino, Bluetooth communication, a motorized lock, and a mobile interface that allows users to remotely manage access.
Hardware Configuration
Arduino Setup: Connect to a PC using USB and ensure necessary drivers and the development environment are installed.
Bluetooth Module (HC-05): Attach the module to the designated TX/RX pins and verify proper power supply and operation.
Motor Control (L293D): Link motor driver pins to both Arduino and the DC motor, ensuring correct signal routing for direction control.
System Assembly

Follow the wiring guide to assemble the circuit, upload the control logic to the Arduino, and develop a user-friendly interface for the mobile application. Pair the phone with the HC-05 via Bluetooth and validate command exchange. Test the lock/unlock mechanism thoroughly to confirm proper motor response and reliability.
User Interaction Flow

The flow outlines how users interact with the system—from app launch, to authentication, to locking/unlocking—highlighting each operational step.
Fingerprint Management Logic
1.After verifying user identity, present fingerprint management options.
2.If adding a fingerprint, check if one exists; if not, register it and mark the status.
3.For removal, clear any existing record and confirm deletion to the user.
4.If no fingerprint is found, notify the user.
5.When attempting to unlock, validate authentication and fingerprint status before granting access and activating the motor.
Sample Arduino Logic for Fingerprint Control:
boolean fingerprintAdded = false;
void addFingerprint() {
if (!fingerprintAdded) {
fingerprintAdded = true;
sendBluetoothMessage("FINGERPRINT_ADDED");
} else {
sendBluetoothMessage("FINGERPRINT_ALREADY_ADDED");
}
}
void removeFingerprint() {
if (fingerprintAdded) {
fingerprintAdded = false;
sendBluetoothMessage("FINGERPRINT_REMOVED");
} else {
sendBluetoothMessage("NO_FINGERPRINT_ADDED");
}
}
void openDoorWithFingerprint() {
if (!authenticated) {
sendBluetoothMessage("NOT_AUTHENTICATED");
} else if (!fingerprintAdded) {
sendBluetoothMessage("NO_FINGERPRINT_ADDED");
} else {
sendBluetoothMessage("ACCESS_GRANTED");
openDoor();
}
}
Results and Discussion


The system's fingerprint feature performed well during testing, enabling users to successfully manage fingerprints and operate the lock. Its integration enhances both the ease of use and overall system security.