RFID-lukijapiiri Arduinoa käyttämällä

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä artikkelissa aiomme tutustua RFID-piiritekniikkaan. Tutkimme kuinka RFID-tunnisteet ja lukijat toimivat, kuinka liittää RFID-moduuli (RC522) Arduinoon ja poimia hyödyllistä tietoa RFID-tunnisteista.

RFID-tunnisteiden käyttö

Olen varma, että jokainen teistä on käyttänyt RFID: tä saadakseen pääsyn tietoturvaan ainakin kerran toimistossa, koulussa, yliopistossa, kirjastossa jne.



Tarrassa / kortissa, jota kannat mukana, on upotettu elektroninen siru, siru tallentaa henkilöllisyytesi sähköisesti. Toisin kuin viivakoodeissa, joissa kortin tulisi olla lukijan näköyhteydessä, RFID-tunnukset voidaan sijoittaa aivan lukijan lähelle lukemaan tietoja.

Suurin osa älykorteistamme käyttää passiivista RFID-tekniikkaa, mikä tarkoittaa, että virtaa ei tarvita tietojen lukemiseen kortilta. Lukija antaa virran RFID-sirulle ja poimii tietoja samanaikaisesti.



Tämäntyyppiset tunnisteet voivat lukea tietoja millimetreistä muutamiin jalkoihin tunnisteesta ja sovelluksesta riippuen.

Aktiiviset RFID-tunnisteet saavat virtaa ulkoisesti, tämän tyyppiset tunnisteet lähettävät tietoa jopa 100 jalkaan. Akun virrankulutus on optimoitu kestämään muutama vuosi.

Tässä projektissa tarkastelemme passiivista RFID-tekniikkaa. Käytämme RC522-lukijamoduulia yhdessä arduinon kanssa tietojen purkamiseen ja näyttämiseen. RC522-moduuli on yleisesti saatavana verkkokaupan verkkosivustoilla ja paikallisessa elektroniikkasarjakaupassa.

Kuva RC522-lukija- / kirjoitinmoduulista:

RC522 lukija / kirjoitin moduuli

Kortti- ja avaimenperätyyppiset tunnisteet:

Kortti- ja avaimenperä -tyyppiset tunnisteet

Kuten voimme nähdä, osa piirilevystä on ympäröity johtamalla neliön muotoinen polku lukijaan, mikä tuottaa sähkömagneettisen kentän tagille 13,56 MHz: n taajuudella.

Tunniste valitsee generoidun EMF: n ja muuntaa sen riittäväksi jännitteeksi tagin toimimiseksi, tag lähettää tarvittavat tiedot pulssimuodossa takaisin lukijalle. Sisäinen mikrokontrolleri dekoodaa tiedot.

Kuinka se toimii

RFID-piiri Arduinoa käyttämällä

Kaavio on erittäin helppo ja itsestään selvä, muutama hyppyjohto riittää tämän projektin toteuttamiseen. Aiomme virrata arduinon ja RFID: n tietokoneen USB-portin kautta. RC522: n käyttöjännite on 3,3 V, älä kytke 5 V: n syöttöä moduuliin ja vahingoittaa sisäisiä komponentteja.

Arduino RFID-piirin prototyyppi:

Siinä kaikki laitteistoyhteydet, nyt siirrytään koodaukseen.

Ennen kuin lataat ohjelman, lataa kirjastotiedosto seuraavasta linkistä ja siirry arduino IDE: n kirjastokansioon.

github.com/miguelbalboa/rfid.git

Ohjelmakoodi:

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

Okei! Mitä yllä oleva ohjelma on suunniteltu toimimaan?

Yllä oleva ohjelma näyttää tunnisteen UID: n IDE-sarjassa, kun skannaat lukijalla. UID on tunnisteen yksilöllinen tunnistenumero, sitä ei voi muuttaa, ja valmistaja on asettanut sen.

LÄHTÖ:

Korttisi UID: FA: 4E: B2 // tämä on esimerkki.

Huomautus 1: Kumpikin arvo on erotettu kaksoispisteellä, mikä tapahtuu ohjelman avulla. Todellisia arvoja ei saa erottaa kaksoispisteellä, vaan välilyönnillä.

Huomautus 2: Vain NXP: n valmistamat RFID-tunnisteet ovat luettavissa / kirjoitettavissa ehdotetulla asetuksella, niitä käytetään yleisesti ja kaupallisesti.

UID: tä käytetään tunnistamaan tunniste, johon pakkauksen mukana tuleva tunniste voi tallentaa enintään 1 kt tietoa. On muitakin kortteja, joihin voi tallentaa jopa 4 kt tietoa tai jopa enemmän.

Tietojen tallennus- ja poimintaprosessi on toisen artikkelin aiheena.
Jos sinulla on kysyttävää tästä projektista, kysy vapaasti kommenttiosasta.




Pari: Barometrisen paineanturin piiri - työ- ja rajapintatiedot Seuraava: Triac-vaiheen hallinta käyttämällä PWM-ajan suhteellista osuutta