engineerkid
Published © GPL3+

Automatic Door Lock Using RFID

Automatic Door Lock Using RFID

ExpertFull instructions provided3 hours569
Automatic Door Lock Using RFID

Things used in this project

Hardware components

UTSOURCE Arduino Uno Board
×1
UTSOURCE Old DVD Writer (working)
×1
UTSOURCE SMPS to power the DVD Writer
×1
UTSOURCE Bread Boards
×1
UTSOURCE RC 522 RFID Module
×1
UTSOURCE Relay Module
×1
UTSOURCE IR Sensor
×1
UTSOURCE Connecting Wires
×1

Story

Read more

Code

Code.ino

Arduino
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
const int Relay = 4;
const int sen1 = 2;
const int SW = 5;
int buttonState = 0;
int val1;
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() 
{
  digitalWrite(Relay, HIGH);  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();      // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  pinMode(Relay, OUTPUT);
  pinMode(sen1, INPUT);
  pinMode(SW, INPUT);
  digitalWrite(Relay, HIGH);
  delay(250);
  digitalWrite(Relay,LOW); 
  delay(250);
  digitalWrite(Relay,HIGH);
  delay(250);
  digitalWrite(Relay,LOW);
  digitalWrite(Relay,HIGH);
  delay(250);
  digitalWrite(Relay,LOW);
}
void loop() 
{
  val1 = digitalRead(sen1); 
  Serial.println("SEN1");
  Serial.println(val1);
  buttonState = digitalRead(SW);
  Serial.println("Button");
  Serial.println(buttonState);
  {
  if (val1 == HIGH && buttonState == HIGH) 
  {
    digitalWrite(Relay, HIGH);
    delay(250);
    digitalWrite(Relay,LOW);
    delay(4000);
    digitalWrite(Relay,HIGH);
    delay(250);
    digitalWrite(Relay,LOW);
  }
  else 
  {
    digitalWrite(Relay, LOW);
  }
  rfid();
  }
}
void rfid()
{
    if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  content.toUpperCase();
  int val1 = digitalRead(sen1);
  if (val1 == HIGH && content.substring(1) == "F4 90 E0 1F") //change here the UID of the card/cards that you want to give access
  {
    Serial.println("Authorized access");
    digitalWrite(Relay,HIGH);
    delay(250);
    digitalWrite(Relay,LOW);
    delay(4000);
    digitalWrite(Relay,HIGH);
    delay(250);
    digitalWrite(Relay,LOW);
  }
  else
  {
    Serial.println("Unauthorized access");
  }
}

Credits

engineerkid
13 projects • 0 followers
How To Protect Yourself From Coronavirus click above link☝☝☝
Contact

Comments

Please log in or sign up to comment.