RFID lasītāja shēma, izmantojot Arduino

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā rakstā mēs apskatīsim RFID ķēžu tehnoloģiju. Mēs izpētīsim, kā darbojas RFID tagi un lasītāji, kā saskarni izveidot RFID modulim (RC522) ar Arduino un iegūt no RFID tagiem noderīgu informāciju.

RFID tagu izmantošana

Esmu pārliecināts, ka katrs no jums ir izmantojis RFID, lai vismaz reizi piekļūtu drošībai birojā, skolā, koledžā, bibliotēkā utt.



Tagā / kartē, kuru jūs nēsājat, tajā ir iestrādāta elektroniskā mikroshēma, mikroshēma jūsu identitāti glabā elektroniski. Atšķirībā no svītrkodiem, kur kartei jābūt lasītāja redzeslokā, RFID var novietot tikai lasītāja tuvumā, lai lasītu informāciju.

Lielākā daļa mūsu viedkaršu izmanto pasīvo RFID tehnoloģiju, kas nozīmē, ka informācijas lasīšanai no kartes nav nepieciešama enerģija. Lasītājs vienlaikus darbina RFID mikroshēmu un iegūst informāciju.



Šāda veida tagi var nolasīt informāciju no milimetriem līdz dažām pēdām atkarībā no taga un lietojuma.

Aktīvie RFID tagi tiek darbināti ārēji, šāda veida tagi pārraida informāciju līdz 100 pēdām. Akumulatora enerģijas patēriņš ir optimizēts, lai tas darbotos dažus gadus.

Šajā projektā mēs aplūkosim pasīvo RFID tehnoloģiju. Informācijas iegūšanai un parādīšanai mēs izmantojam RC522 lasītāja moduli kopā ar arduino. RC522 modulis parasti ir pieejams e-komercijas vietnēs un vietējos elektronikas komplektu veikalos.

RC522 lasītāja / rakstītāja moduļa ilustrācija:

RC522 lasītāja / rakstītāja modulis

Kartes un atslēgu piekariņa tipa tagi:

Kartes un atslēgu piekariņu tipa tagi

Kā redzam, daļu PCB ieskauj lasītāja vadotne kvadrātveida formā, tas tagam ģenerēs elektromagnētisko lauku ar 13,56 MHz frekvenci.

Radītais EMF tiek izvēlēts ar tagu un pārveido par pietiekamu spriegumu, lai tags darbotos, tags izsūtīs nepieciešamo informāciju impulsa veidā atpakaļ lasītājam. Borta mikrokontrolleris atšifrē informāciju.

Kā tas strādā

RFID shēma, izmantojot Arduino

Shēma ir ļoti vienkārša un pašsaprotama, lai izpildītu šo projektu, pietiek ar dažiem džemperu vadiem. Arduino un RFID darbināsim, izmantojot datora USB portu. RC522 darba spriegums ir 3,3 V, nepievienojiet modulim 5 V barošanu un sabojāsiet borta komponentus.

Arduino RFID shēmas prototips:

Tas ir viss aparatūras savienojums, tagad pievērsīsimies kodēšanai.

Pirms programmas augšupielādes lejupielādējiet bibliotēkas failu no šīs saites un pārejiet uz arduino IDE bibliotēkas mapi.

github.com/miguelbalboa/rfid.git

Programmas kods:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
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, your card/tag can't be read :('))
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('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

Labi! Kā darbojas iepriekš minētā programma?

Iepriekš skenējot lasītājā, augstāk minētā programma IDE sērijas monitorā parādīs taga UID. UID ir taga unikāls identifikācijas numurs, to nevar mainīt, un to nosaka ražotājs.

REZULTĀTS:

Jūsu kartes UID: FA: 4E: B2 // tas ir piemērs.

1. piezīme. Abas vērtības atdala ar kolu, ko veic programma, reālās vērtības var atdalīt nevis ar kolu, bet gan ar atstarpi.

2. piezīme: Tikai NXP ražotie RFID tagi ir lasāmi / rakstāmi ar piedāvāto iestatījumu, tos parasti un komerciāli izmanto.

UID tiek izmantots, lai atpazītu tagu, kas kopā ar komplektu iekļautajā tagā var uzglabāt līdz 1 KB informācijas. Ir arī citas kartes, kurās var uzglabāt līdz pat 4 KB informācijas vai pat vairāk.

Informācijas uzglabāšanas un ieguves process no taga ir citā rakstā.
Ja jums ir jautājumi par šo projektu, jautājiet komentāru sadaļā.




Pāri: Barometriskā spiediena sensora ķēde - darba un saskarnes detaļas Nākamais: Triac Phase Control, izmantojot PWM laika proporcionālo