Techatronic
Published

Door Security System Arduino RFID Project

This is an RFID-based door security system using Arduino. Read the full article for more details.

BeginnerProtip2 hours2,633
Door Security System Arduino RFID Project

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
RFID reader (generic)
×1
solenoid lock
×1
LED (generic)
LED (generic)
×2
Relay (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Breadboard (generic)
Breadboard (generic)
×1
USB-A to B Cable
USB-A to B Cable
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

CODE

C/C++
#include "SPI.h"  
 #include "MFRC522.h"  
 #define SS_PIN 10  
 #define RST_PIN 9  
 int m=0,n=0;  
 MFRC522 rfid(SS_PIN, RST_PIN);  
 MFRC522::MIFARE_Key key;  
 void setup() {  
  Serial.begin(9600);  
  SPI.begin();  
  rfid.PCD_Init();  
  pinMode(5, OUTPUT);  
   pinMode(6, OUTPUT);  
   pinMode(7, OUTPUT);  
 }  
 void loop() {  
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial())  
   return;  
  // Serial.print(F("PICC type: "));  
  MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);  
  // Serial.println(rfid.PICC_GetTypeName(piccType));  
  // Check is the PICC of Classic MIFARE type  
  if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&  
   piccType != MFRC522::PICC_TYPE_MIFARE_1K &&  
   piccType != MFRC522::PICC_TYPE_MIFARE_4K) {  
   Serial.println(F("Your tag is not of type MIFARE Classic."));  
   return;  
  }  
  String strID = "";  
  for (byte i = 0; i < 4; i++) {  
   strID +=  
   (rfid.uid.uidByte[i] < 0x10 ? "0" : "") +  
   String(rfid.uid.uidByte[i], HEX) +  
   (i!=3 ? ":" : "");  
  }  
  strID.toUpperCase();  
  Serial.print("Tap card key: ");  
  Serial.println(strID);  
 if(strID.indexOf("E0:68:F7:29")>=0)  // here you can replace your tag id 
 {  
  Serial.println("card accepted");    
  digitalWrite(5, HIGH);  
  digitalWrite(6, HIGH);  
  digitalWrite(7, LOW);  
  delay(3000);  
  digitalWrite(5, LOW);  
  digitalWrite(6,LOW);  
  digitalWrite(7, HIGH);  
  }  
 else  
 {  
  digitalWrite(5, LOW);  
  digitalWrite(6,LOW);  
  digitalWrite(7, HIGH);  
  }  
 if(strID.indexOf("D5:4A:B0:65")>=0)  // here you can replace your tag id 
 {  
  Serial.println("Token Accepted");  
  digitalWrite(A1, HIGH);  
  digitalWrite(A1, LOW);  
  }  
 else  
 {  
  digitalWrite(A1, LOW);  
  }  
  rfid.PICC_HaltA();  
  rfid.PCD_StopCrypto1();  
 }  

Credits

Techatronic
73 projects • 132 followers
Electronic engineer
Contact

Comments

Please log in or sign up to comment.