RC522 RFID-moodul on üks mitmekülgsemaid ja populaarsemaid seadmeid elektroonikaprojektide ja läbipääsusüsteemide jaoks. Koos Arduino tahvliga võimaldab see traadita side abil lugeda ja kirjutada teavet RFID-kaartidele ja võtmehoidjatele. Seda tüüpi tehnoloogia on väga kasulik automatiseerimis-, turva- ja monitooringuprojektides, nagu uste automaatne avamine või personaliseeritud identifitseerimissüsteemide kasutamine.
Selles artiklis uurime üksikasjalikult, kuidas moodul RC522 töötab, kuidas seda ühendada mikrokontrolleriga, näiteks Arduinoga, ja mõningaid praktilisi näiteid, mis võimaldavad teil sellest maksimumi võtta. Kui alustate RFID-projektidega, on see artikkel suureks abiks põhimõtete ja lihtsa ja tõhusa rakendamise mõistmisel.
Mis on RFID?
RFID (Radio Frequency Identification) on tehnoloogia, mis võimaldab siltide või siltide lugemine juhtmevabalt, ilma füüsilise kontakti vajaduseta. Need sildid on saadaval mitmes vormingus, näiteks kaardid, võtmehoidjad ja isegi kleebised. Olenevalt RFID-i tüübist kasutatakse neid väga erinevates rakendustes: alates hoonete juurdepääsukontrollist kuni varude haldamiseni.
RFID-lugeja toimib a saatja-vastuvõtja raadiosageduslikest signaalidest. Kui RFID-silt on lugeja lähedal, vastab see mällu salvestatud teabe saates. Kui töötate sellise mooduliga nagu RC522, saate seda teavet kasutada oma projektis erinevate toimingute tegemiseks, nagu näiteks juurdepääsu võimaldamine uksele või inimeste sisenemise registreerimine.
RC522 moodul
RC522 moodul See on oma lihtsuse ja mitmekülgsuse tõttu üks populaarsemaid RFID-lugejaid. See töötab 13.56 MHz sagedus ja võimaldab lugeda ja kirjutada teavet selle standardiga ühilduvates siltides.
RC522 suhtleb mikrokontrolleriga protokolli kaudu SPI, mis tähendab, et see ühildub mitte ainult Arduinoga, vaid ka teiste süsteemidega, nagu PIC ja Raspberry Pi. Lisaks on sellel a lugemisvahemik umbes 5–7 cm, mis on enamiku juurdepääsukontrolli projektide jaoks enam kui piisav.
RC522 RFID-mooduli ühendamine Arduinoga
RC522 üks suuri eeliseid on see, kui lihtne on seda Arduinoga ühendada. Esimene asi, mida peame tegema, on veenduda, et kõik mooduli kontaktid on õigesti ühendatud Arduino vastavate tihvtidega. Siin on tabel ühendustega:
RC522 moodul | Arduino Uno/Vanem vend | arduino mega |
---|---|---|
SDA (SS) | 10 | 53 |
SCK | 13 | 52 |
MOSI | 11 | 51 |
MISO | 12 | 50 |
IRQ | Pole ühendatud | Pole ühendatud |
GND | GND | GND |
RST | 9 | 9 |
3.3V | 3.3V | 3.3V |
Pidage meeles, et RC522 moodul töötab pingega 3.3V, seega soovitame kasutada pingetaseme muundurit, kui plaanite süsteemi pikemalt kasutada, kuigi kiirtestides võib see Arduinoga otse ühendatuna õigesti töötada.
RC522 programmeerimine Arduinoga
Et RC522 Arduinoga õigesti töötaks, peame vastava alla laadima ja installima RFID raamatupood. Üks enim kasutatud on Miguel Balboa välja töötatud, mille leiate Arduino IDE raamatukogu haldurist.
Kui teek on installitud, on siin lihtne koodinäide RFID-kaardi UID-i (unikaalse identifikaatori) lugemiseks:
#kaasa #kaasa #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("Loe UID"); } void loop() { if ( mfrc522.PICC_IsNewCardPresent()) { if ( mfrc522.PICC_ReadCardSerial()) { Serial.print("Kaardi UID:"); for (bait 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(); }} }
See kood loeb iga kaardi UID-d, mille lugejale esitate ja prindib selle jadamonitorile.
RC522 kasutamine juurdepääsukontrollisüsteemis
Üks RFID-mooduli RC522 kõige kasulikumaid rakendusi on sees juurdepääsu kontroll. Saate kasutada RFID-kaarte või võtmehoidjaid, et anda inimesele sisenemisluba või aktiveerida/deaktiveerida selliseid süsteeme nagu alarmid või elektrilukud.
Allpool näitame teile koodinäidet, mis muudab eelmist programmi, et võimaldada juurdepääs ainult eelautoriseeritud kaartidele:
bait User1[4] = {0x4B, 0x6D, 0xC8, 0x3A}; bait User2[4] = {0xF2, 0x8A, 0x9D, 0x17}; void loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { if (võrdleMassi(mfrc522.uid.uidByte, User1, 4) || võrdle Massiiv(mfrc522.uid)), u2.uid. Serial.println("Juurdepääs lubatud"); } else { Serial.println("Juurdepääs keelatud"); } mfrc4.PICC_HaltA(); }}
Kui selles koodis tuvastatakse kaart, mille UID vastab ühele salvestatud ID-st, lubatakse juurdepääs sõnumi printimisega. Vastasel juhul on juurdepääs keelatud. Saate need teated asendada, printides koodi, mis aktiveerib muuhulgas digitaalse väljundi ukse avamiseks.