Table of Contents

Play Video

SMART LOCK

RFID Technology Based Smart Lock that only allows authorized person to unlock.

Software Used

Platform Used

Smart Lock with RFID
1. System Overview

Keyless Convenience: This project utilizes an RFID card and servo motor to create a smart lock that opens with a simple tap.

2. Function

RFID Access: The system reads the unique identifier on your RFID card.
Authorized Access: If the card matches a pre-programmed ID, the servo motor unlocks the door.
Secure Entry: Unauthorized cards trigger no response, keeping your space secure.
3. Benefits

Keyless Entry: Ditch the keys! Convenient access with a simple tap of your card.
Enhanced Security: Eliminates the risk of lost or stolen keys.
Simple to Use: User-friendly and easy to operate for anyone.
#include <SPI.h>

#include <MFRC522.h>

#include <Servo.h>

#define SS_PIN 10

#define RST_PIN 9

#define SERVO_PIN 3

Servo myservo;

#define ACCESS_DELAY 2000

#define DENIED_DELAY 1000

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

void setup()

{

Serial.begin(9600); // Initiate a serial communication

SPI.begin(); // Initiate SPI bus

mfrc522.PCD_Init(); // Initiate MFRC522

myservo.attach(SERVO_PIN);

myservo.write( 70 );

delay(7500);

myservo.write( 0 );

Serial.println("Put your card to the reader...");

Serial.println();

}

void loop()

{

// Look for new cards

if ( ! mfrc522.PICC_IsNewCardPresent())

{

return;

}

// Select one of the cards

if ( ! mfrc522.PICC_ReadCardSerial())

{

return;

}

//Show UID on serial monitor

Serial.print("UID tag :");

String content= "";

byte letter;

for (byte i = 0; i < mfrc522.uid.size; i++)

{

Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

Serial.print(mfrc522.uid.uidByte[i], HEX);

content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

content.concat(String(mfrc522.uid.uidByte[i], HEX));

}

Serial.println();

Serial.print("Message : ");

content.toUpperCase();

if (content.substring(1) == "81 C0 2A 20") //change here the UID of the card

{

Serial.println("Authorized access");

Serial.println();

myservo.write( 70 );

delay(7500);

myservo.write( 0 );

}

else {

Serial.println(" Access denied");

delay(
Scroll to Top