RFID Reader Circuit ved hjælp af Arduino

RFID Reader Circuit ved hjælp af Arduino

I denne artikel skal vi tage en tur om RFID-kredsløbsteknologi. Vi vil undersøge, hvordan RFID-tags og læsere fungerer, hvordan man interagerer RFID-modul (RC522) med Arduino og udtrækker nogle nyttige oplysninger fra RFID-tags.



Brug af RFID-tags

Jeg er sikker på, at hver eneste af jer har brugt RFID til at få sikkerhedsadgang mindst en gang på kontor, skole, college, bibliotek osv.

Mærket / kortet, som du bærer rundt, har indbygget elektronisk chip, chippen gemmer din identitet elektronisk. I modsætning til stregkoder, hvor kortet skal være synsfelt for læseren, kan RFID'er placeres lige tæt på læseren for at læse informationen.





De fleste af vores smartkort bruger passiv RFID-teknologi, hvilket betyder, at der ikke kræves strøm til at læse informationen fra kortet. Læseren driver RFID-chippen og udtrækker information på samme tid.

Denne slags tags kan læse information fra millimeter til få meter afhængigt af tag og applikation.



En aktiv RFID-tags er drevet eksternt, denne type tags overfører oplysningerne op til 100 fod. Batteriets strømforbrug er optimeret til at vare i nogle få år.

I dette projekt skal vi se på passiv RFID-teknologi. Vi bruger RC522-læsermodul sammen med arduino til udpakning og visning af information. RC522-modulet er almindeligt tilgængeligt på e-handelswebsteder og i lokale elektroniske sæt.

Illustration af RC522 læser / skrivermodul:

RC522 læser / skrivermodul

Kort og nøgleringstype tags:

Kort- og nøgleringstypemærker

Som vi kan se, er en del af printkortet omgivet af en ledende sti i firkantet form på læseren, hvilket genererer et elektromagnetisk felt til mærket ved 13,56 MHz frekvens.

Den genererede EMF vælges af mærket og konverterer til tilstrækkelig spænding til, at mærket kan fungere, mærket sender den nødvendige information i pulsform tilbage til læseren. Den indbyggede mikrocontroller afkoder oplysningerne.

Hvordan det virker

RFID-kredsløb ved hjælp af Arduino

Skematisk er meget let og selvforklarende, få jumperwirer er nok til at udføre dette projekt. Vi får strøm til arduino og RFID via USB-porten på computeren. RC522's driftsspænding er 3,3V, tilslut ikke 5V forsyning til modulet og beskadiger de indbyggede komponenter.

Arduino RFID kredsløb prototype:

Det er alle hardwareforbindelser, lad os nu springe ind i kodning.

Inden du uploader programmet, skal du downloade biblioteksfilen fra følgende link og flytte til biblioteksmappen på arduino IDE.

github.com/miguelbalboa/rfid.git

Programkode:

//-------------------------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------------------//

Okay! Hvad er ovenstående program designet til at fungere?

Ovenstående program viser UID for tagget i seriel skærm af IDE, når du scanner på læseren. UID er unikt identifikationsnummer for tagget, det kan ikke ændres, og det indstilles af producenten.

PRODUKTION:

Dit korts UID: FA: 4E: B2 // dette er et eksempel.

Bemærk 1: De to værdier er adskilt af kolon, hvilket udføres af programmet, reelle værdier er muligvis ikke adskilt af kolon, men snarere af mellemrum.

Bemærk 2: Kun NXP-fremstillede RFID-tags kan læses / skrives med den foreslåede opsætning, disse er almindeligt og kommercielt brugt.

UID bruges til at genkende tagget, som tagget, der følger med sættet, kan gemme op til 1 KB information. Der er andre kort, der kan gemme op til 4KB information eller endnu mere.

Processen med at gemme og udtrække informationen fra taggen er genstand for en anden artikel.
Hvis du har spørgsmål angående dette projekt, er du velkommen til at spørge i kommentarfeltet.




Forrige: Barometrisk tryksensorkreds - Arbejds- og grænsefladesdetaljer Næste: Triac-fasekontrol ved hjælp af PWM-tidsproportionel