Comment faire un système de sécurité de porte RFID Arduino?

Sécurité de porte RFID Arduino
Dans cet article, nous allons créer un système de sécurité de porte RFID Arduino. Fondamentalement, ce projet est à des fins de stationnement et de péage. vous n’êtes pas obligé d’acheter le jeton maintenant. vous pouvez passer la porte simplement en appuyant sur la carte RFID sur le lecteur de carte. de nos jours, cette technologie est utilisée dans la porte du métro et la porte du parking. lorsque vous appuyez sur l’étiquette ou la carte sur le lecteur, la porte sera ouverte pendant un certain temps. donc, en utilisant la même méthode, nous avons fait un projet comme vous pouvez le voir sur l’image donnée. vous pouvez également utiliser ce verrou chez vous. placez la carte RFID sur la porte et utilisez une serrure à solénoïde. chaque fois que vous appuierez sur l’étiquette du lecteur, la porte sera ouverte. nous avons également réalisé une vidéo sur ce projet. donc,si vous voulez faire ce projet ou vous voulez apprendre ce projet nous aimerions vous référer sur la page vidéo youtube qui est donnée au dernier de ce post nous avons également fait un Verrou de sécurité de porte d’empreintes digitales avec l’Arduino le vérifier une fois pour la référence.
Verrou de sécurité RFID Arduino Comment ça marche? Ainsi, lorsque nous parlons du fonctionnement de ce projet, il y a deux choses qui constituent la majeure partie de ce projet. L’un est l’Arduino et un autre est le lecteur de carte RFID RC522 et l’étiquette. c’est simple, lorsque nous tapons sur l’étiquette sur le lecteur, notre verrou sera ouvert. quel processus se déroule à l’intérieur du système nous en parlerons dans ce paragraphe.
RFID rc522 est un module basé sur la radiofréquence dans lequel la portée de détection est proche d’environ 5 cm. car il y a un transfert de deux choses d’un module à un autre. Le lecteur est connecté à l’alimentation électrique et alimente l’étiquette également par la méthode d’induction mutuelle. cela signifie lorsque l’étiquette atteint dans la plage de la bobine de lecteur puis tension induite dans l’étiquette pendant un moment. à ce moment, la balise transfère également les informations à l’intérieur de la puce via la radiofréquence. lorsque nous prenons l’étiquette près du lecteur, la tension et le courant induits dans l’étiquette et à cet instant, l’étiquette transfère les informations via radiofréquence, c’est pourquoi nous l’avons appelée RFID, qui signifie méthode d’identification par radiofréquence. Nous interférons le module RFID avec l’Arduno et créons un programme pour celui-ci. tout d’abord, nous devons extraire la valeur de la balise en la tapant sur le lecteur. lorsque nous tapons la balise sur le lecteur, nous obtenons une valeur de la balise et nous utilisons cette valeur dans la base de données. selon cette base de données, le verrou s’ouvrira ou se fermera. par exemple, nous tapons l’étiquette sur le lecteur et le lecteur obtient la valeur 12345. Ensuite, nous utilisons cette valeur dans le code Arduino et y établissons une condition. si la valeur est la même que la valeur du code, la porte sera ouverte. si la valeur de la balise n’est pas la même que la valeur de la base de données ou du code, la porte ne sera pas ouverte. Télécharger la bibliothèque du CRFM la bibliothèque ci-dessus nécessaire pour le codage. téléchargez-le et installez-le sur votre IDE Arduino
Schéma du circuit de verrouillage de sécurité RFID Arduino:
 
Schéma de circuit RFID Arduino Maintenant, nous partageons également le code de ce projet: –  
 
#include "SPI.h"
#include "MFRC522.h"
#include 
#define SS_PIN 10
#define RST_PIN 9
#include 
int m=0,n=0;
Servo myservo; 
int pos = 0;
MFRC522 rfid(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;
const int rs = 0, en = 6, d4 = 5, d5 = 4, d6 = 2, d7 = 1;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, INPUT_PULLUP);
  pinMode(A3, INPUT_PULLUP);
   
  lcd.begin(16, 2);
  myservo.attach(3);
}

void loop() {


m= analogRead(A3);
n= analogRead(A2);
int val_1= map(m, 250 , 850 , 0 , 100);
int val_2= map(n, 250, 850, 0, 100);
  
  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("1A:28:54:73")>=0)

{
  Serial.println("card accepted");
  digitalWrite(A0, HIGH);
  lcd.setCursor(0, 1);
  lcd.print("Speed Limit= ");
  lcd.print(val_2);
  delay(1000);
  lcd.clear();
  digitalWrite(A0, LOW);
 
     myservo.write(0);  
    myservo.write(90);              // tell servo to go to position in variable 'pos'
    delay(15);         
    delay(2000);// waits 15ms for the servo to reach the position

    myservo.write(0);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  
  
  }
else

{
  digitalWrite(A0, LOW);
  }

if(strID.indexOf("1A:28:54:73")>=0)

{
  Serial.println("Token Accepted");
  digitalWrite(A1, HIGH);
  lcd.setCursor(0, 1);
  lcd.print("Speed Limit= ");
  lcd.print(val_1);
  delay(1000);
  lcd.clear();
  digitalWrite(A1, LOW);
  
  
  }
else

{
  digitalWrite(A1, LOW);
  }
  





  rfid.PICC_HaltA();
  rfid.PCD_StopCrypto1();
}