Comment faire un système de verrouillage de porte RFID à l’aide d’Arduino?

RFID Door Locking System

Composants du système de verrouillage des portes RFID
Système de verrouillage de porte RFID Utilisation du diagramme du circuit Arduino

RC522 RFID Reader Pin Broche arduino uno r3
VCC 3.3 V
GND GND
Premier PIN 9
IRQ Non connecté
Miso Broche 12
Mosi PIN 11
SCK PIN 13
SDA (SS) PIN 10
PIN LCD 16X2 I2C Broche arduino uno r3
VCC 5V
GND GND
SDA A4
SCL A5
Broche de module de relais unique Broche arduino uno r3
Signal PIN 8
VCC 5V
GND GND
#include 
#include 
// Define RC522 RFID module pins
#define RST_PIN 9   // Reset pin
#define SS_PIN 10   // Slave Select pin
// Initialize MFRC522 instance
MFRC522 rfid(SS_PIN, RST_PIN);
// Initialize the I2C LCD (set the I2C address, usually 0x27 or 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
 // Initialize SPI and RC522 module
 Serial.begin(9600);
 SPI.begin();
 rfid.PCD_Init();
 // Initialize the LCD
 lcd.init();
 lcd.backlight();
 lcd.setCursor(0, 0);
 lcd.print("Scan RFID Card");
 Serial.println("Scan RFID Card");
}
void loop() {
 // Check if a new RFID card is present
 if (!rfid.PICC_IsNewCardPresent()) {
   return;
 }
 // Check if the RFID card can be read
 if (!rfid.PICC_ReadCardSerial()) {
   return;
 }
 // Clear LCD and display the UID
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Card UID:");
 Serial.print("Card UID: ");
 // Print the UID on the LCD
 lcd.setCursor(0, 1);
 for (byte i = 0; i < rfid.uid.size; i++) {
   if (rfid.uid.uidByte[i] < 0x10) {
     lcd.print("0"); // Add leading 0 for single-digit hex
     Serial.print("0x0");
   }
   lcd.print(rfid.uid.uidByte[i], HEX); // Print UID byte in HEX format
   Serial.print("0x");
   Serial.print(rfid.uid.uidByte[i], HEX);
   if (i < rfid.uid.size - 1) {
     lcd.print(" "); // Add space between bytes
     Serial.print(", ");
   }
   delay(1000);
 }
 // Halt communication with the card
 rfid.PICC_HaltA();
 // Wait for 10 seconds before clearing the LCD
 delay(10000);
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Scan RFID Card");
 Serial.println("\n");
 Serial.println("Scan RFID Card");
}

Téléchargement du code de numérisation UID pour le système de verrouillage des portes RFIDAnalyse de la carte RFID avec ArduinoInterface des détails de la carte RFID UIDUID sur l'affichage après avoir numérisé la balise RFID

#include 
#include 
// Define RC522 pins
#define RST_PIN 9
#define SS_PIN 10
// Relay pin
#define RELAY_PIN 8
// Initialize MFRC522 instance
MFRC522 rfid(SS_PIN, RST_PIN);
// Initialize LCD (address 0x27 may vary)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Authorized UID (replace with your tag's UID)
byte authorizedUID[] = {0x69, 0xA9, 0x81, 0x5A};
// Door status
bool doorLocked = true;
void setup() {
 // Initialize SPI and RC522
 SPI.begin();
 rfid.PCD_Init();
 // Initialize LCD
 lcd.init();
 lcd.backlight();
 // Set up relay pin
 pinMode(RELAY_PIN, OUTPUT);
 // Display startup message
 lcd.setCursor(0, 0);
 lcd.print("RFID Door Lock");
 delay(2000);
 lcd.clear();
 lockDoor(); // Start with door locked
}
void loop() {
 // Check if a new RFID card is present
 if (!rfid.PICC_IsNewCardPresent()) {
   return;
 }
 // Check if the RFID card can be read
 if (!rfid.PICC_ReadCardSerial()) {
   return;
 }
 // Display scanned UID
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Scanning...");
 delay(2000);
 // Compare scanned UID with authorized UID
 if (isAuthorized(rfid.uid.uidByte, rfid.uid.size)) {
   lcd.setCursor(0, 1);
   lcd.print("Access Granted!");
   delay(2000);
   unlockDoor(); // Lock or unlock the door
 } else {
   lcd.setCursor(0, 1);
   lcd.print("Access Denied!");
   delay(2000);
   lockDoor();
 }
 // Halt communication with the card
 rfid.PICC_HaltA();
}
// Function to check if UID matches authorized UID
bool isAuthorized(byte *uid, byte size) {
 if (size != sizeof(authorizedUID)) {
   return false;
 }
 for (byte i = 0; i < size; i++) {
   if (uid[i] != authorizedUID[i]) {
     return false;
   }
 }
 return true;
}
// Function to lock the door
void lockDoor() {
 digitalWrite(RELAY_PIN, LOW); // Turn OFF relay (lock engaged)
 doorLocked = true;
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Door Locked");
 delay(2000);
}
// Function to unlock the door
void unlockDoor() {
 digitalWrite(RELAY_PIN, HIGH); // Turn ON relay (unlock door)
 doorLocked = false;
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Door Unlocked");
 delay(10000); // Keep door unlocked for 5 seconds
 lockDoor();  // Auto-lock after 5 seconds
}
#define RST_PIN 9 
#define SS_PIN 10
#define RELAY_PIN 8
MFRC522 rfid(SS_PIN, RST_PIN); 
LiquidCrystal_I2C lcd(0x27, 16, 2);

Remplacement UID unique de la carte RFID autorisée

bool doorLocked = true;
void setup() {
 Serial.begin(9600);
 // Initialize SPI and RC522
 SPI.begin();
 rfid.PCD_Init();
 // Initialize LCD
 lcd.init();
 lcd.backlight();
 // Set up relay pin
 pinMode(RELAY_PIN, OUTPUT);
 // Display startup message
 lcd.setCursor(0, 0);
 lcd.print("RFID Door Lock");
 delay(2000);
 lcd.clear();
 lockDoor(); // Start with door locked
}
void loop() {
// Check if a new RFID card is present
 if (!rfid.PICC_IsNewCardPresent()) {
   return;
 }
 // Check if the RFID card can be read
 if (!rfid.PICC_ReadCardSerial()) {
   return;
 }
 // Display scanned UID
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Scanning...");
 delay(2000);
 // Compare scanned UID with authorized UID
 if (isAuthorized(rfid.uid.uidByte, rfid.uid.size)) {
   lcd.setCursor(0, 1);
   lcd.print("Access Granted!");
   delay(2000);
   unlockDoor(); // Lock or unlock the door
 } else {
   lcd.setCursor(0, 1);
   lcd.print("Access Denied!");
   delay(2000);
   lockDoor();
 }
 // Halt communication with the card
 rfid.PICC_HaltA();
}
bool isAuthorized(byte *uid, byte size) {
 if (size != sizeof(authorizedUID)) {
   return false;
 }
 for (byte i = 0; i < size; i++) {
   if (uid[i] != authorizedUID[i]) {
     return false;
   }
 }
 return true;
}
void lockDoor() {
 digitalWrite(RELAY_PIN, LOW); // Turn OFF relay (lock engaged)
 doorLocked = true;
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Door Locked");
 delay(2000);
}
void unlockDoor() {
 digitalWrite(RELAY_PIN, HIGH); // Turn ON relay (unlock door)
 doorLocked = false;
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Door Unlocked");
 delay(5000); // Keep door unlocked for 5 seconds
 lockDoor();  // Auto-lock after 5 seconds
}

Arduino Uno en utilisant pour scanner la carte RFIDSélection du port USB de la carte Arduino Uno.Téléchargement du code système de verrouillage de porte RFID dans Arduino
Démonstration du système de verrouillage de porte RFID à l'aide d'ArduinoPorte ouverte après la balise RFID de numérisation à l'aide d'Arduino

Projets utilisant RFID pour la sécurité et l’automatisation

  Verrouillage de la porte solénoïde Arduino en utilisant RFID

Verrouillage de la porte solénoïde Arduino en utilisant RFID

Ce projet implique la création d’un système de verrouillage de porte basé sur RFID à l’aide d’un Arduino. Il fournit des instructions détaillées sur la configuration des composants matériels et logiciels pour contrôler l’accès via des balises RFID.

  Verrouillage de la porte de sécurité du clavier numérique à l'aide d'Arduino

Verrouillage de la porte de sécurité du clavier numérique à l’aide d’Arduino

Ce projet montre comment créer un système de verrouillage de porte protégé par mot de passe à l’aide d’un clavier numérique et d’un arduino. Il fournit un guide étape par étape pour configurer le matériel et programmer l’Arduino pour contrôler un servomoteur pour le verrouillage et le déverrouillage.

Système d'allumage de la voiture à base d'empreintes digitales utilisant Arduino et RFIDSystème de verrouillage de porte basé sur RFID Utilisation de Raspberry Pi

Système de verrouillage de porte basé sur RFID Utilisation de Raspberry Pi

Apprenez à construire un système de verrouillage de porte basé sur RFID à l’aide de Raspberry Pi et un module RFID RC522 pour un contrôle d’accès sécurisé. Il permet une entrée uniquement aux balises RFID enregistrées tout en déclenchant une alarme et en envoyant des notifications par e-mail pour des tentatives non autorisées.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

  • JASAG Kit de système de contrôle d'accès RFID 125KHz avec Serrure magnétique électrique 180KG et Alimentation DC12V, Serrure de Porte Intelligente pour Coffre-Fort à Domicile
  • FST Système de Contrôle d'accès de Porte RFID Clavier RFID étanche Extérieur + Serrure Magnétique électrique 180KG + Couverture étanche à la Pluie + 15 pièces Cartes clés pour la Maison