Title:- Smart Door Lock System
Student Name: Dnyaneshwar Ramesh Mule
Problem Statement
Fab Lab मध्ये कोणतीही परवानगी न घेता कोणीही आत येऊ शकत असलेल्याने. त्यामुळे Fab Lab मधील Tools आणि Machines चा चुकीचा वापर होऊ शकतो. यामुळे Tools खराब होण्याची किंवा त्यांचे नुकसान होण्याची शक्यता असते.तसेच कोणत्या व्यक्तीने Door Open केला हे कळत नाही. त्यामुळे Fab Lab मध्ये कोण आले होते आणि त्यांनी कोणते Tools वापरले हे समजणे कठीण होते.म्हणून Fab Lab ची सुरक्षा वाढवण्यासाठी आणि फक्त परवानगी असलेल्या व्यक्तींनाच प्रवेश देण्यासाठी Smart Door Lock System ची गरज आहे.
Proposed Solution
या problem solution म्हणून मी Fab Lab साठी RFID Based Smart Door Lock System तयार केला आहे. या System मध्ये RFID Card च्या मदतीने व्यक्तीची ओळख तपासली जाते. परवानगी असलेले RFID Card वापरल्यावर Door Unlock होतो आणि त्या व्यक्तीला Fab Lab मध्ये प्रवेश मिळतो.परवानगी नसलेले RFID Card वापरल्यास Door Unlock होत नाही आणि Door Lock राहतो. तसेच Fab Lab च्या आतून Door उघडण्यासाठी Push Button दिलेला आहे. या System मध्ये 12V Adapter चा supply Buck Converter च्या मदतीने आवश्यक voltage मध्ये कमी केला जातो. या System मुळे Fab Lab मध्ये फक्त परवानगी असलेल्या व्यक्तींनाच प्रवेश देता येतो आणि Tools व Machines ची सुरक्षा वाढवता येते.
Working Principle
या प्रोजेक्टमध्ये ESP32 हा मुख्य Controller म्हणून काम करतो. System सुरू केल्यावर RFID Reader, Relay आणि Push Button काम करण्यासाठी तयार होतात. User RFID Card, RFID Reader जवळ आणतो. RFID Reader कार्डमधील UID Read करून तो ESP32 ला पाठवतो. ESP32 हा UID Program मध्ये Save केलेल्या Authorized Card च्या UID सोबत Check करतो. जर UID Match झाला तर ESP32 Relay ला ON करण्याचा Signal देतो. Relay ON झाल्यावर Solenoid Lock Activate होतो आणि Door Unlock होतो. Door 3 सेकंदांसाठी Unlock राहतो. त्यानंतर Relay OFF होतो आणि Door पुन्हा Lock होतो.जर RFID Card चा UID Match झाला नाही, तर Relay ON होत नाही आणि Door Lock राहतो. Serial Monitor वर “ACCESS DENIED” दिसते. तसेच आतून Door उघडण्यासाठी Push Button दिलेला आहे. Button दाबल्यावर ESP32 Relay ON करतो आणि Solenoid Lock Activate होऊन Door 3 सेकंदांसाठी Unlock होतो.
Objectives
या प्रोजेक्टचा main उद्देश Fab Lab ची सुरक्षा वाढवणे हा आहे. RFID Card वापरून फक्त परवानगी असलेल्या व्यक्तींनाच Fab Lab मध्ये प्रवेश द्यायचा आहे. परवानगी नसलेल्या व्यक्तींना प्रवेश मिळू नये यासाठी Door Lock ठेवायचा आहे. आतून Door उघडण्यासाठी Push Button वापरायचा आहे. यामुळे Fab Lab मधील Tools आणि Machines सुरक्षित ठेवता येतील.
Components
- ESP32
- RFID Reader (RC522)
- RFID Card
- Relay Module
- Solenoid Lock
- Push Button
- Buck Converter
- 12V Adapter
- Connecting Wires

System flow
Simple Flow:
12V Adapter → Buck Converter → ESP32 → RFID Reader → UID Check → Relay → Solenoid Lock → Door
Push Button → ESP32 → Relay → Solenoid Lock → Door
Pin Connections
| Component | Pin | ESP32 Pin |
|---|---|---|
| RFID RC522 | SDA / SS | GPIO 5 |
| RFID RC522 | SCK | GPIO 18 |
| RFID RC522 | MISO | GPIO 19 |
| RFID RC522 | MOSI | GPIO 23 |
| RFID RC522 | RST | GPIO 22 |
| RFID RC522 | 3.3V | 3.3V |
| RFID RC522 | GND | GND |
| Relay Module | IN | GPIO 26 |
| Relay Module | VCC | 3.3V / Module specification प्रमाणे |
| Relay Module | GND | GND |
| Push Button | एक Pin | GPIO 32 |
| Push Button | दुसरा Pin | GND |
| Solenoid Lock | Control | Relay च्या माध्यमातून |
| 12V Adapter | + | Buck Converter / Lock Supply |
| 12V Adapter | − | GND |
| Buck Converter | OUT | आवश्यक Voltage Supply |
Bill Of Material
| Sr. No. | Component | Quantity | Approx. Cost |
|---|---|---|---|
| 1 | ESP32 | 1 | ₹400 |
| 2 | RFID Reader (RC522) | 1 | ₹150 |
| 3 | RFID Card | 2 | ₹50 |
| 4 | Relay Module | 1 | ₹80 |
| 5 | Solenoid Lock | 1 | ₹400 |
| 6 | Push Button | 1 | ₹20 |
| 7 | Buck Converter | 1 | ₹80 |
| 8 | 12V Adapter | 1 | ₹250 |
| 9 | Connecting Wires | As required | ₹100 |
| Total Approx. Cost | ₹1,530 |
System Testing
System तयार केल्यानंतर सर्व components योग्य प्रकारे काम करत आहेत की नाही हे तपासले. सर्वप्रथम RFID Reader जवळ Authorized RFID Card Scan करून पाहिला. Card चा UID योग्य असल्यास Relay ON झाला आणि Lock मुळे Solenoid Unlock झाला. 3 सेकंदांनंतर Relay OFF झाला आणि Door पुन्हा Lock झाला.त्यानंतर Unauthorized RFID Card वापरून Testing केली. Card चा UID Match न झाल्यामुळे Relay ON झाला नाही आणि Lock राहिला. तसेच आतून Push Button दाबून पाहिल्यावर Relay ON झाला आणि lock काही सेकंदांसाठी Unlock झाला.

Final code
#include <SPI.h>
#include <MFRC522.h>
// ---------------- PINS ----------------
#define SS_PIN 5
#define RST_PIN 22
#define RELAY_PIN 26
#define BUTTON_PIN 32
MFRC522 rfid(SS_PIN, RST_PIN);
// ---------------- RFID CARDS ----------------
// Card 1
byte card1[] = {
0x7A,
0x14,
0xF2,
0x06
};
// Card 2
byte card2[] = {
0x42,
0x2B,
0x02,
0x07
};
// ---------------- RELAY ----------------
// Your 3.3V relay is ACTIVE LOW
#define RELAY_ON LOW
#define RELAY_OFF HIGH
// Unlock time
#define UNLOCK_TIME 3000
void setup() {
Serial.begin(115200);
// Relay
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, RELAY_OFF);
// Button
// Button connected between GPIO 32 and GND
pinMode(BUTTON_PIN, INPUT_PULLUP);
// SPI
SPI.begin(18, 19, 23, 5);
// RFID
rfid.PCD_Init();
delay(100);
Serial.println();
Serial.println("==============================");
Serial.println(" RFID DOOR LOCK SYSTEM");
Serial.println("==============================");
Serial.println("Card 1 or Card 2 can unlock.");
Serial.println("Button can also unlock.");
Serial.println("Scan card or press button...");
}
void loop() {
// =================================================
// BUTTON CHECK
// =================================================
if (digitalRead(BUTTON_PIN) == LOW) {
Serial.println("BUTTON PRESSED");
Serial.println("DOOR UNLOCKED");
unlockDoor();
// Wait until button is released
while (digitalRead(BUTTON_PIN) == LOW) {
delay(20);
}
Serial.println("Button released.");
Serial.println("Scan card or press button again...");
delay(300);
return;
}
// =================================================
// RFID CHECK
// =================================================
if (!rfid.PICC_IsNewCardPresent()) {
return;
}
if (!rfid.PICC_ReadCardSerial()) {
return;
}
// Print UID
Serial.print("Card UID: ");
for (byte i = 0; i < rfid.uid.size; i++) {
if (rfid.uid.uidByte[i] < 0x10) {
Serial.print("0");
}
Serial.print(rfid.uid.uidByte[i], HEX);
Serial.print(" ");
}
Serial.println();
// =================================================
// CHECK AUTHORIZED CARDS
// =================================================
if (checkCard(card1) || checkCard(card2)) {
Serial.println("ACCESS GRANTED");
unlockDoor();
}
else {
Serial.println("ACCESS DENIED");
}
// Stop RFID communication
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
// Wait for card to be removed
Serial.println("Remove card...");
delay(500);
Serial.println("Ready - scan again.");
}
// =================================================
// UNLOCK DOOR
// =================================================
void unlockDoor() {
// Relay ON
digitalWrite(RELAY_PIN, RELAY_ON);
Serial.println("DOOR UNLOCKED");
// Keep unlocked for 3 seconds
delay(UNLOCK_TIME);
// Relay OFF
digitalWrite(RELAY_PIN, RELAY_OFF);
Serial.println("DOOR LOCKED");
}
// =================================================
// CHECK RFID CARD
// =================================================
bool checkCard(byte cardUID[]) {
// Make sure UID is 4 bytes
if (rfid.uid.size != 4) {
return false;
}
// Compare UID
for (byte i = 0; i < 4; i++) {
if (rfid.uid.uidByte[i] != cardUID[i]) {
return false;
}
}
return true;
}
Hardware Assembly
या प्रोजेक्टसाठी सर्व components एकत्र जोडून Hardware Assembly केली. सर्वप्रथम ESP32 ला मुख्य Controller म्हणून ठेवले. त्यानंतर RFID Reader ला ESP32 सोबत जोडले. Relay Module ला ESP32 शी Connect करून त्याला Solenoid Lock जोडला. 12V Adapter चा Supply Buck Converter च्या मदतीने योग्य Voltage मध्ये केला. आतून Door उघडण्यासाठी Push Button जोडला.
सर्व connections पूर्ण केल्यानंतर wires व्यवस्थित लावल्या आणि सर्व components तपासले



Final Testing
Hardware Assembly पूर्ण केल्यानंतर संपूर्ण System ची Final Testing केली. प्रथम Authorized RFID Card Scan केला. Card योग्य असल्यावर Door Unlock झाला आणि 3 सेकंदांनंतर पुन्हा Lock झाला. त्यानंतर Unauthorized Card वापरून पाहिला. Card योग्य नसल्यामुळे Door Unlock झाला नाही. तसेच Push Button दाबून आतून Door उघडून पाहिला.
या Testing मध्ये RFID Reader, ESP32, Relay, Solenoid Lock आणि Push Button सर्व योग्य प्रकारे काम करत असल्याचे दिसून आले. त्यामुळे Fab Lab Smart Door Lock System तयार होऊन व्यवस्थित काम करत आहे.