Cuprins:

Cum se folosește modulul RFID-RC522 cu Arduino: 5 pași
Cum se folosește modulul RFID-RC522 cu Arduino: 5 pași

Video: Cum se folosește modulul RFID-RC522 cu Arduino: 5 pași

Video: Cum se folosește modulul RFID-RC522 cu Arduino: 5 pași
Video: Modul RFID RC522 2024, Iulie
Anonim
Cum se utilizează modulul RFID-RC522 cu Arduino
Cum se utilizează modulul RFID-RC522 cu Arduino

În acest Instructable, voi oferi o prezentare generală cu privire la principiul fundamental de funcționare al modulului RFID, împreună cu etichetele și cipurile sale. De asemenea, voi oferi un scurt exemplu de proiect pe care l-am realizat folosind acest modul RFID cu LED RGB. Ca de obicei cu Instructables, voi oferi o scurtă prezentare generală în primii pași și voi lăsa o explicație cuprinzătoare și detaliată în ultimul pas pentru cei interesați.

Provizii:

RC522 Modul RFID + etichetă de identificare și card -

LED RGB + trei rezistențe de 220 ohmi

Pasul 1: Conexiuni hardware

Conexiuni hardware
Conexiuni hardware

În acest proiect am folosit Arduino Mega, dar ați putea folosi orice microcontroler pe care l-ați dori, deoarece acesta este un proiect cu resurse relativ reduse, singurul lucru care ar fi diferit este conexiunile pin pentru SCK, SDA, MOSI, MISO și RST, deoarece acestea sunt diferite pe fiecare tablou. Dacă nu utilizați Mega, consultați partea de sus a acestui script pe care îl vom folosi în scurt timp:

RFID:

SDA (alb) - 53

SCK (portocaliu) - 52

MOSI (galben) - 51

MISO (verde) - 50

RST (albastru) - 5

3.3v - 3.3v

GND - GND

(Notă: Deși cititorul necesită strict 3.3V, pinii sunt toleranți la 5V, ceea ce ne permite să putem utiliza acest modul cu Arduinos și alte microcontrolere DIO de 5V)

LED RGB:

Catod roșu (violet) - 8

GND - GND

Catod verde (verde) - 9

Catod albastru (albastru) - 10

Pasul 2: Software

Software
Software

Acum pe software.

În primul rând, trebuie să instalăm biblioteca MFRC522 pentru a putea obține, scrie și procesa date RFID. Link-ul github este: https://github.com/miguelbalboa/rfid, dar îl puteți instala și prin intermediul managerului bibliotecii în IDE-ul Arduino sau pe PlatformIO. Înainte de a putea crea propriul nostru program personalizat pentru a trata și prelucra datele RFID, trebuie mai întâi să obținem UID-urile reale pentru cardul și eticheta noastră. Pentru aceasta, trebuie să încărcăm această schiță:

(IDE Arduino: exemple> MFRC522> DumpInfo)

(PlatformIO: PIO Home> biblioteci> instalate> MFRC522> exemple> DumpInfo)

Ceea ce face această schiță este, în esență, să extragă toate informațiile prezente într-o carte, inclusiv UID în formă hexadecimală. De exemplu, UID-ul cardului meu este 0x72 0x7D 0xF5 0x1D (vezi imaginea). Restul structurii de date tipărite este informația prezentă în card pe care o putem citi sau scrie. Voi merge mai în profunzime în ultima secțiune.

Pasul 3: Software (2)

Software (2)
Software (2)

Ca de obicei cu Instructables, voi explica software-ul în comentarii rând cu rând, astfel încât fiecare parte a codului să poată fi explicată în funcție de funcția sa în restul scriptului, dar ceea ce face în esență este să identifice cardul fiind citiți și fie acordă sau refuză accesul. De asemenea, dezvăluie un mesaj secret dacă cardul corect este scanat de două ori.

github.com/belsh/RFID_MEGA/blob/master/mfr….

Pasul 4: RFID; Lămurit

RFID; Lămurit
RFID; Lămurit

În cititor, există un modul de frecvență radio și o antenă care generează un câmp electromagnetic. Cardul, pe de altă parte, conține un cip care poate stoca informații și ne permite să le modificăm scriind la unul dintre numeroasele sale blocuri, pe care le voi detalia în secțiunea următoare, întrucât se încadrează în structura datelor RFID.

Principiul de lucru al comunicării RFID este destul de simplu. Antena cititorului (în cazul nostru, antena de pe RC522 este structura încorporată asemănătoare bobinei pe față) care va trimite unde radio, care la rândul lor vor energiza o bobină în card / etichetă (în imediata apropiere) și că electricitatea convertită va fi utilizată de transponder (dispozitiv care recepționează și emite semnale de frecvență radio) în cadrul cardului pentru a trimite înapoi informațiile stocate în acesta sub formă de mai multe unde radio. Acest lucru este cunoscut sub numele de backscatter. În secțiunea următoare, voi discuta despre structura de date specifică utilizată de card / etichetă pentru a stoca informații pe care le putem citi sau scrie.

Pasul 5: RFID; Explicat (2)

RFID; Explicat (2)
RFID; Explicat (2)

Dacă vă uitați la partea de sus a rezultatului scriptului încărcat mai devreme, veți observa că tipul cardului este PICC 1 KB, adică are 1 KB de memorie. Această memorie este alocată într-o structură de date compusă din 16 sectoare care transportă 4 blocuri, fiecare dintre acestea transportând 16 octeți de date (16 x 4 x 16 = 1024 = 1 KB). Ultimul bloc din fiecare sector (AKA Sector Trailer) va fi rezervat pentru acordarea accesului de citire / scriere la restul sectorului, ceea ce înseamnă că avem doar primele 3 blocuri cu care să lucrăm în ceea ce privește stocarea și citirea datelor.

(Notă: primul bloc al sectorului 0 este cunoscut sub numele de Blocul producătorului și conține informații vitale, cum ar fi datele producătorului; schimbarea acestui bloc ar putea bloca complet cardul, așa că aveți grijă atunci când încercați să îi scrieți date)

Veselie de jocuri.

Recomandat: