Introduction: RFID Security Access System
Materials Requirements:
Arduino Board - https://goo.gl/9UVL82
RFID RC522 Module - https://goo.gl/yWkt8U
Servo Motor - https://goo.gl/yWkt8U
LED Kit - https://goo.gl/yWkt8U
Buzzer - https://goo.gl/yWkt8U
F to M Jumper - https://goo.gl/yWkt8U
Breadboard - https://goo.gl/yWkt8U
Get the MFRC522 Library here: https://goo.gl/CXKrqt
Step 1: Connection of RFID Module to Arduino Uno
SDA > PIN 10
SCK > PIN 13
MOSI > PIN 11
MISO > PIN 12
IRO > NOT CONNECTED
GND > GND
RST > PIN 9
3.3V > 3.3V
Connection of the Servo motor, LED and Buzzer.
Servo Motor: Orange > PIN3
Red > 5V
Brown > GND
Step 2: Connection of Breadboard With LED and Buzzer.
Red LED short leg > GND
Red LED long leg > PIN4 Yellow LED short leg > GND Yellow LED long leg > PIN5 Buzzer short leg > GND
Buzzer long leg > PIN2
Copy and upload the codes that I write to the Arduino uno then If its successfully uploaded open the serial monitor in tools section of the Arduino IDE then tap the RFID that you want to have an access then copy the UID of the respected RFID card then place it to the codes. then re-upload the codes with the UID card details. Note: You need to install the RFID library that you can download from the link above.
Step 3: Codes
#include
#include #include #define SS_PIN 10 #define RST_PIN 9 #define LED_G 5 //define green LED pin #define LED_R 4 //define red LED #define BUZZER 2 //buzzer pin MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. Servo myServo; //define servo name void setup() { Serial.begin(9600); // Initiate a serial communication SPI.begin(); // Initiate SPI bus mfrc522.PCD_Init(); // Initiate MFRC522 myServo.attach(3); //servo pin myServo.write(0); //servo start position pinMode(LED_G, OUTPUT); pinMode(LED_R, OUTPUT); pinMode(BUZZER, OUTPUT); noTone(BUZZER); 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) == "XX XX XX XX") //change here the UID of the card/cards that you want to give access { Serial.println("Authorized access"); Serial.println(); delay(500); digitalWrite(LED_G, HIGH); tone(BUZZER, 500); delay(300); noTone(BUZZER); myServo.write(180); delay(5000); myServo.write(0); digitalWrite(LED_G, LOW); } else { Serial.println(" Access denied"); digitalWrite(LED_R, HIGH); tone(BUZZER, 300); delay(1000); digitalWrite(LED_R, LOW); noTone(BUZZER); } }