Table of Contents

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