Moduli RC522 RFID është një nga pajisjet më të gjithanshme dhe më të njohura për projektet elektronike dhe sistemet e kontrollit të aksesit. Së bashku me një bord Arduino, ai lejon leximin dhe shkrimin e informacionit në kartat RFID dhe çelësat duke përdorur komunikimin me valë. Kjo lloj teknologjie është shumë e dobishme në projektet e automatizimit, sigurisë dhe monitorimit, si hapja e dyerve automatikisht ose përdorimi i sistemeve të personalizuara të identifikimit.
Në këtë artikull, ne do të shqyrtojmë në detaje se si funksionon moduli RC522, si ta lidhni atë me një mikrokontrollues si Arduino dhe disa shembuj praktikë që do t'ju lejojnë të përfitoni sa më shumë prej tij. Nëse po filloni me projekte RFID, ky artikull do t'ju ndihmojë shumë për të kuptuar parimet dhe mënyrën e realizimit të një zbatimi të thjeshtë dhe efektiv.
Çfarë është RFID?
RFID (Radio Frequency Identification) është një teknologji që lejon leximi i etiketave ose etiketave me valë, pa pasur nevojë për kontakt fizik. Këto etiketa janë të disponueshme në formate të shumta si p.sh karta, çelësa dhe madje edhe ngjitëse. Në varësi të llojit të RFID, ato përdoren në një gamë të gjerë aplikimesh: nga kontrolli i aksesit të ndërtesës deri te menaxhimi i inventarit.
Lexuesi RFID vepron si një dërgues-marrës të sinjaleve të radiofrekuencës. Kur një etiketë RFID është pranë lexuesit, ai përgjigjet duke dërguar informacionin e ruajtur në memorien e tij. Kur punoni me një modul si RC522, mund t'i përdorni këto informacione për të kryer veprime të ndryshme në projektin tuaj, si për shembull për të mundësuar hyrjen në një derë ose për të regjistruar hyrjen e njerëzve.
Moduli RC522
Moduli RC522 Është një nga lexuesit më të njohur RFID për shkak të thjeshtësisë dhe shkathtësisë së tij. Ajo funksionon në Frekuenca 13.56 MHz dhe lejon lexoni dhe shkruani informacion në etiketat e përputhshme me këtë standard.
RC522 komunikon me mikrokontrolluesin përmes protokollit SPI, që do të thotë se është i pajtueshëm jo vetëm me Arduino, por edhe me sisteme të tjera si PIC dhe Raspberry Pi. Për më tepër, ajo ka një diapazoni i leximit rreth 5 deri në 7 cm, që është më se e mjaftueshme për shumicën e projekteve të kontrollit të aksesit.
Lidhja e modulit RFID RC522 me Arduino
Një nga avantazhet e mëdha të RC522 është se sa e lehtë është ta lidhësh atë me një Arduino. Gjëja e parë që duhet të bëjmë është të sigurohemi që të gjitha kunjat në modul të jenë të lidhura saktë me kunjat përkatëse në Arduino. Këtu është një tabelë me lidhjet:
Moduli RC522 | Arduino Uno/Vëllai i madh | Mega Arduino |
---|---|---|
SDA (SS) | 10 | 53 |
SCK | 13 | 52 |
DAWDLE | 11 | 51 |
Miso | 12 | 50 |
IRQ | Nuk është e lidhur | Nuk është e lidhur |
GND | GND | GND |
RST | 9 | 9 |
3.3V | 3.3V | 3.3V |
Mos harroni se moduli RC522 punon me tension 3.3V, kështu që ju rekomandojmë të përdorni një konvertues të nivelit të tensionit nëse planifikoni të përdorni më shumë sistemin, megjithëse në teste të shpejta ai mund të funksionojë saktë i lidhur drejtpërdrejt me Arduino.
Programimi i RC522 me Arduino
Që RC522 të funksionojë siç duhet me Arduino, duhet të shkarkojmë dhe instalojmë atë përkatës Librari RFID. Një nga më të përdorurit është ai i zhvilluar nga Miguel Balboa, të cilin mund ta gjeni brenda menaxherit të bibliotekës Arduino IDE.
Pasi të instalohet biblioteka, këtu është një shembull i thjeshtë kodi për të lexuar UID (Identifikuesin Unik) të një karte RFID:
#përfshi #përfshi #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("Lexo UID"); } void loop() { if ( mfrc522.PICC_IsNewCardPresent()) { if ( mfrc522.PICC_ReadCardSerial()) { Serial.print("UID Karte:"); 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(); }} }
Ky kod lexon UID-në e çdo karte që sjellni tek lexuesi dhe e printon atë në monitorin serik.
Përdorimi i RC522 në një sistem të kontrollit të aksesit
Një nga aplikacionet më të dobishme të modulit RFID RC522 është në kontrolli i hyrjes. Ju mund të përdorni karta RFID ose çelësa për t'i dhënë leje hyrjes një personi ose për të aktivizuar/çaktivizuar sisteme të tilla si alarmet ose bravat elektrike.
Më poshtë ju tregojmë një shembull kodi që modifikon programin e mëparshëm për të lejuar aksesin vetëm në kartat e para-autorizuara:
byte User1[4] = {0x4B, 0x6D, 0xC8, 0x3A}; byte User2[4] = {0xF2, 0x8A, 0x9D, 0x17}; void loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {if (compareArray(mfrc522.uid.uidByte, User1, 4) || compareArray(mfrc522Buid). Serial.println("Qasja lejohet"); } else { Serial.println("Qasja u refuzua"); } mfrc2.PICC_HaltA(); }}
Në këtë kod, nëse një kartë zbulohet me një UID që përputhet me një nga ato të ruajtura, qasja autorizohet duke printuar një mesazh. Përndryshe, qasja refuzohet. Ju mund t'i zëvendësoni këto mesazhe duke printuar një kod që aktivizon një dalje dixhitale për të hapur një derë, midis funksionaliteteve të tjera.