Sådan bruger du RC522 RFID-læsermodulet med Arduino til adgangskontrol

  • RC522-modulet tillader læsning og skrivning af RFID-kort ved 13.56 MHz.
  • Den er kompatibel med mikrocontrollere såsom Arduino gennem SPI-kommunikation.
  • Dens læseområde er 5 til 7 cm, ideel til adgangskontrolsystemer.
  • For at implementere sikkerhed kan du integrere nøgle- eller autentificeringssystemer i tags' hukommelse.

RFID-tag eller chip

RC522 RFID-modulet er et af de mest alsidige og populære enheder til elektronikprojekter og adgangskontrolsystemer. Sammen med et Arduino-kort gør det muligt at læse og skrive information på RFID-kort og nøglebrikker ved hjælp af trådløs kommunikation. Denne type teknologi er meget nyttig i automatiserings-, sikkerheds- og overvågningsprojekter, såsom at åbne døre automatisk eller bruge personlige identifikationssystemer.

I denne artikel vil vi udforske i detaljer, hvordan RC522-modulet fungerer, hvordan man forbinder det til en mikrocontroller som Arduino, og nogle praktiske eksempler, der giver dig mulighed for at få mest muligt ud af det. Hvis du starter ud med RFID-projekter, vil denne artikel være til stor hjælp til at forstå principperne og hvordan du udfører en enkel og effektiv implementering.

Hvad er RFID?

RFID (Radio Frequency Identification) er en teknologi, der tillader læse etiketter eller tags trådløstuden behov for fysisk kontakt. Disse etiketter er tilgængelige i flere formater som f.eks kort, nøgleringe og endda klistermærker. Afhængigt af typen af ​​RFID bruges de i en lang række applikationer: fra bygningsadgangskontrol til lagerstyring.

RFID-læseren fungerer som en afsender-modtager af radiofrekvenssignaler. Når et RFID-tag er i nærheden af ​​læseren, reagerer det ved at sende de oplysninger, der er gemt i dens hukommelse. Når du arbejder med et modul som RC522, kan du bruge disse oplysninger til at udføre forskellige handlinger i dit projekt, såsom at give adgang til en dør eller registrere personers adgang.

RC522-modulet

rfid-læser til Arduino

RC522 modul Det er en af ​​de mest populære RFID-læsere på grund af dens enkelhed og alsidighed. Det virker i 13.56 MHz frekvens og tillader læse og skrive information i tags, der er kompatible med denne standard.

RC522 kommunikerer med mikrocontrolleren gennem protokollen SPI, hvilket betyder, at den ikke kun er kompatibel med Arduino, men også med andre systemer såsom PIC og Raspberry Pi. Desuden har den en læseområde omkring 5 til 7 cm, hvilket er mere end nok til de fleste adgangskontrolprojekter.

Tilslutning af RC522 RFID-modulet med Arduino

En af de store fordele ved RC522 er, hvor nemt det er at forbinde den til en Arduino. Det første, vi skal gøre, er at sikre, at alle stifterne på modulet er korrekt forbundet til de tilsvarende stifter på Arduino. Her er en tabel med forbindelserne:

RC522 modul Arduino Uno/Ældre bror Mega Arduino
SDA (SS) 10 53
SCK 13 52
Mosi 11 51
MISO 12 50
IRQ Ikke tilsluttet Ikke tilsluttet
GND GND GND
RST 9 9
3.3V 3.3V 3.3V

Husk at RC522-modulet arbejder med en spænding på 3.3V, så vi anbefaler at bruge en spændingsniveauomformer, hvis du planlægger at gøre længere brug af systemet, selvom det i hurtige test kan fungere korrekt forbundet direkte til Arduino.

Programmering af RC522 med Arduino

For at RC522 skal fungere korrekt med Arduino, skal vi downloade og installere den tilsvarende RFID boghandel. En af de mest brugte er den udviklet af Miguel Balboa, som du kan finde i Arduino IDE-biblioteksadministratoren.

Når biblioteket er installeret, er her et simpelt kodeeksempel til at læse UID (Unique Identifier) ​​på et RFID-kort:

#omfatte #omfatte #define RST_PIN 522 #define SS_PIN 9 MFRC10 mfrc522(SS_PIN, RST_PIN); void setup() { Serial.begin(522); SPI.begin(); mfrc9600.PCD_Init(); Serial.println("Læs UID"); } void loop() { if ( mfrc522.PICC_IsNewCardPresent()) { if ( mfrc522.PICC_ReadCardSerial()) { Serial.print("Kort-UID:"); for (byte i = 522; i < mfrc0.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 522x0 ? " 10" : " "); Serial.print(mfrc0.uid.uidByte[i], HEX); } Serial.println(); mfrc522.PICC_HaltA(); }} }

Denne kode læser UID'et for ethvert kort, du bringer frem til læseren, og udskriver det på den serielle monitor.

Brug af RC522 i et adgangskontrolsystem

En af de mest nyttige anvendelser af RC522 RFID-modulet er i kontrol de acceso. Du kan bruge RFID-kort eller nøglebrikker til at give adgangstilladelse til en person eller til at aktivere/deaktivere systemer såsom alarmer eller elektriske låse.

Nedenfor viser vi dig et kodeeksempel, der ændrer det tidligere program til kun at tillade adgang til forhåndsautoriserede kort:

byte Bruger1[4] = {0x4B, 0x6D, 0xC8, 0x3A}; byte Bruger2[4] = {0xF2, 0x8A, 0x9D, 0x17}; void loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { if (compareArray(mfrc522.uid.uidByte, User1, 4) || compareArray(mfrc522.yte,uid) {2id.uid.uid. Serial.println("Adgang tilladt"); } else { Serial.println("Adgang nægtes"); } mfrc4.PICC_HaltA(); }}

Hvis der i denne kode registreres et kort med et UID, der matcher en af ​​dem, der er gemt, godkendes adgangen ved at udskrive en besked. Ellers nægtes adgang. Du kan erstatte disse meddelelser ved at udskrive en kode, der aktiverer en digital udgang til at åbne en dør, blandt andre funktioner.


Start samtalen

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.