mehmetefepekerr
Published © GPL3+

RFID Door Lock

It is made to make our lives easier and technological by using RFID card.

BeginnerProtip1,141
RFID Door Lock

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
MFRC522
×1
Buzzer
Buzzer
×1
Jumper wires (generic)
Jumper wires (generic)
×1
5 mm LED: Green
5 mm LED: Green
×1
5 mm LED: Red
5 mm LED: Red
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
IR receiver (generic)
×1
9V Power Supply
×1
Breadboard (generic)
Breadboard (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Silicon

Story

Read more

Schematics

Schematics

Circuit Diagram

Code

Code

Arduino
/// This project was made by Mehmet Efe Peker.
#include <RFID.h>
#include <SPI.h>
#include <Servo.h>

#define SS_PIN 10
#define RST_PIN 9

#define SERVO_PIN 8

#define kirmizi 2
#define yesil 3

#define buzzer 7

int ir_deger;

Servo servo;
RFID rfid(SS_PIN, RST_PIN);

boolean kart = false;

int rfid_id[5] = {10,28,87,46,111};

int ir = 5;

boolean kilit = false;


void kapiyi_kapat() { /// Closes the door.
  if(kilit = true){
    servo.write(0);
    Serial.println("Door closed.");
    delay(100);
    servo.write(180);
  }
}


void setup() {
  pinMode(kirmizi, OUTPUT);
  pinMode(yesil, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(ir, OUTPUT);
  servo.attach(SERVO_PIN);
  Serial.begin(9600); 
  SPI.begin();
  rfid.init();
}

void loop() {
  kart = true;
  servo.write(0);
  Serial.println("Hold the Card.");
  if(rfid.isCard()){
    if(rfid.readCardSerial()){
      Serial.print("ID: ");
      delay(100);
    }
    for (int i = 0; i<5; i++){
      Serial.print(rfid.serNum[i]);
      Serial.print("");
      delay(100);
    }
    for (int i = 0; i<5; i++){
      if(rfid_id[i] != rfid.serNum[i]){
        kart = false;
        tone(buzzer, 3);
        delay(1000);
        noTone(buzzer);
        Serial.println("Wrong ID.");
        delay(1000);
        return;
      }
    }
    Serial.println();
    delay(1000);
      Serial.println("Welcome to your rome");
      delay(1000);
      digitalWrite(yesil, HIGH);
      delay(200);
      digitalWrite(kirmizi, LOW);
      tone(buzzer, 3);
      delay(1000);
      noTone(buzzer);
      delay(100);
      servo.write(180);
      delay(2000);
      Serial.println("Door opened.");
      delay(10000);
      kapiyi_kapat();
      ir_deger = digitalRead(ir);
      if (ir_deger <= 500){
        servo.write(0);
        Serial.println("Door closed.");
      }
      else{
        return;
      }
      }
    }

Credits

mehmetefepekerr
1 project • 2 followers
Contact

Comments

Please log in or sign up to comment.