Hoe de RC522 RFID-lezermodule met Arduino te gebruiken voor toegangscontrole

  • De RC522-module maakt het lezen en schrijven van RFID-kaarten op 13.56 MHz mogelijk.
  • Het is compatibel met microcontrollers zoals Arduino via SPI-communicatie.
  • Het leesbereik bedraagt ​​5 tot 7 cm, ideaal voor toegangscontrolesystemen.
  • Om de beveiliging te implementeren, kunt u sleutel- of authenticatiesystemen in het geheugen van de tags integreren.

RFID-tag of chip

De RC522 RFID-module is een van de meest veelzijdige en populaire apparaten voor elektronicaprojecten en toegangscontrolesystemen. Samen met een Arduino-bord maakt het lezen en schrijven van informatie op RFID-kaarten en sleutelhangers mogelijk via draadloze communicatie. Dit type technologie is zeer nuttig bij automatiserings-, beveiligings- en monitoringprojecten, zoals het automatisch openen van deuren of het gebruik van gepersonaliseerde identificatiesystemen.

In dit artikel gaan we uitgebreid in op de werking van de RC522-module, hoe je deze aansluit op een microcontroller zoals Arduino, en enkele praktische voorbeelden waarmee je er het maximale uit kunt halen. Als u begint met RFID-projecten, zal dit artikel een grote hulp zijn om de principes te begrijpen en hoe u een eenvoudige en effectieve implementatie kunt uitvoeren.

Wat is RFID?

RFID (Radio Frequency Identification) is een technologie die het mogelijk maakt draadloos labels of tags lezen, zonder de noodzaak van fysiek contact. Deze labels zijn verkrijgbaar in meerdere formaten, zoals kaarten, sleutelhangers en zelfs stickers. Afhankelijk van het type RFID worden ze in de meest uiteenlopende toepassingen gebruikt: van toegangscontrole tot gebouwen tot voorraadbeheer.

De RFID-lezer fungeert als een afzender-ontvanger van radiofrequentiesignalen. Wanneer een RFID-tag zich in de buurt van de lezer bevindt, reageert deze door de informatie te verzenden die in zijn geheugen is opgeslagen. Wanneer u met een module als de RC522 werkt, kunt u deze informatie gebruiken om verschillende acties in uw project uit te voeren, zoals het verlenen van toegang tot een deur of het registreren van de binnenkomst van personen.

De RC522-module

rfid-lezer voor Arduino

RC522-module Het is een van de meest populaire RFID-lezers vanwege zijn eenvoud en veelzijdigheid. Het werkt in de 13.56 MHz-frequentie en staat toe informatie lezen en schrijven in tags die compatibel zijn met deze standaard.

De RC522 communiceert via het protocol met de microcontroller SPI, wat betekent dat het niet alleen compatibel is met Arduino, maar ook met andere systemen zoals PIC en Raspberry Pi. Verder heeft het een leesbereik ongeveer 5 tot 7 cm, wat ruim voldoende is voor de meeste toegangscontroleprojecten.

De RC522 RFID-module verbinden met Arduino

Een van de grote voordelen van de RC522 is hoe eenvoudig deze op een Arduino kan worden aangesloten. Het eerste wat we moeten doen is ervoor zorgen dat alle pinnen op de module correct zijn aangesloten op de overeenkomstige pinnen op de Arduino. Hier is een tabel met de aansluitingen:

RC522-module Arduino Uno/Oudere broer Arduino mega
SDA (SS) 10 53
SCK 13 52
MOSI 11 51
MISO 12 50
IRQ Niet verbonden Niet verbonden
GND GND GND
RST 9 9
3.3V 3.3V 3.3V

Vergeet niet dat de RC522-module werkt met een spanning van 3.3VDaarom raden we aan een spanningsniveau-omzetter te gebruiken als je van plan bent om langdurig gebruik te maken van het systeem, hoewel het bij snelle tests mogelijk correct werkt als het rechtstreeks op de Arduino is aangesloten.

Programmeren van de RC522 met Arduino

Om de RC522 correct te laten werken met Arduino, moeten we de bijbehorende downloaden en installeren RFID-boekhandel. Een van de meest gebruikte is die ontwikkeld door Miguel Balboa, die je kunt vinden in de Arduino IDE-bibliotheekmanager.

Zodra de bibliotheek is geïnstalleerd, volgt hier een eenvoudig codevoorbeeld om de UID (Unique Identifier) ​​van een RFID-kaart te lezen:

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

Deze code leest de UID van elke kaart die u naar de lezer brengt en drukt deze af op de seriële monitor.

Gebruik van de RC522 in een toegangscontrolesysteem

Een van de nuttigste toepassingen van de RC522 RFID-module is binnen toegangscontrole. U kunt RFID-kaarten of sleutelhangers gebruiken om toegang te verlenen aan een persoon of om systemen zoals alarmen of elektrische sloten te activeren/deactiveren.

Hieronder laten we u een codevoorbeeld zien waarin het vorige programma is aangepast om alleen toegang toe te staan ​​tot vooraf geautoriseerde kaarten:

byte Gebruiker1[4] = {0x4B, 0x6D, 0xC8, 0x3A}; byte Gebruiker2[4] = {0xF2, 0x8A, 0x9D, 0x17}; void loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { if (compareArray(mfrc522.uid.uidByte, Gebruiker1, 4) || CompareArray(mfrc522.uid.uidByte, Gebruiker2, 4)) { Serial.println("Toegang toegestaan"); } else { Serial.println("Toegang is geweigerd"); } mfrc522.PICC_HaltA(); }}

Als in deze code een kaart wordt gedetecteerd met een UID die overeenkomt met een van de opgeslagen kaarten, wordt de toegang geautoriseerd door een bericht af te drukken. Anders wordt de toegang geweigerd. U kunt deze berichten vervangen door een code af te drukken die onder andere een digitale uitgang activeert om een ​​deur te openen.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.