Contenuto trattato in questo articolo:
1: Introduzione al sensore RC522
MFRC522 è un IC senza contatto basato su RFID in grado di leggere e scrivere dati a una frequenza di 13.56 MHz. È progettato per una facile integrazione in una vasta gamma di applicazioni, tra cui sistemi di controllo degli accessi, terminali di pagamento e altri sistemi che richiedono una comunicazione wireless sicura.
Il sensore presenta un basso design del consumo di energia ed è conforme allo standard ISO/IEC 14443 A/MIFARE, che gli consente di comunicare con una vasta gamma di carte e tag senza contatto.
Inoltre, MFRC522 presenta un'antenna incorporata, rendendola una soluzione conveniente e compatta per aggiungere capacità di comunicazione senza contatto a un progetto.
2: pinout del sensore RC522
Il sensore ha un totale di 8 pin che lo interfacciano con un microcontrollore o un altro dispositivo di controllo. Il pinout del sensore MFRC522 è il seguente:
IL SDA, SCK, MOSI, E MISO I pin vengono utilizzati per interfacciarsi il sensore MFRC522 con un microcontrollore tramite un protocollo di comunicazione SPI (SPI) di interfaccia seriale a 4 fili (SPI).
IL Irq Il pin può essere utilizzato per generare un interrupt quando si verificano determinati eventi, come una scheda o una lettura di tag di successo, tuttavia non è comunemente usato in molti progetti.
IL GND Il pin si collega al suolo del circuito e al Primo Il pin viene utilizzato per ripristinare il sensore.
Finalmente il 3.3v Il pin viene utilizzato per fornire energia al sensore.
È importante notare che questi nomi dei pin possono variare leggermente a seconda del modulo specifico, quindi è sempre meglio consultare la scheda tecnica del produttore per le informazioni di pinout corrette.
3: Sensore RFID RC522 interfacciante con ESP32
L'interfaccia del sensore MFRC522 con microcontroller ESP32 è un semplice processo che può essere eseguito utilizzando la libreria MFRC522, che è liberamente disponibile per il download. Questa libreria fornisce un set di funzioni di facile utilizzo per l'accesso alla funzionalità del sensore, comprese le funzioni per la lettura e la scrittura di dati su schede e tag senza contatto.
Una volta installata la libreria, nel menu di esempio può essere trovato nel menu Esempi che dimostra come inizializzare il sensore e comunicare con una scheda o un tag. Nello schizzo, è importante impostare le connessioni del pin corrette tra il sensore ESP32 e MFRC522, come i pin SPI, il pin reset e altri, secondo il modello della scheda ESP32 utilizzata.
Con il cablaggio corretto e la libreria correttamente installata, l'ESP32 sarà in grado di comunicare con il sensore MFRC522 ed eseguire le azioni desiderate come la lettura e la scrittura su carte e tag.
Per maggiori dettagli su Protocollo ESP32 SPI e lavorando leggi l'articolo ESP32 SPI PIN.
3.1: schema
L'immagine schematica RC522 con ESP32 è mostrata di seguito:
3.2: installazione delle librerie richieste
MFRC522 La libreria è necessaria per leggere la scheda e i tag RFID Uid. Apri IDE, vai a Library Manager e cerca la libreria MFRC522. Installa la libreria in Arduino IDE.
Dopo aver installato la libreria MFRC522 leggeremo l'UID per tag e schede RFID.
3.3: Ottenere l'UID per la scheda/tag RFID
Apri il Dumpinfo Esempio per il sensore MFRC522. Vai a: File> Esempi> MFRC522> dumpinfo:
Il seguente codice si aprirà in una nuova finestra IDE. Carica il codice su ESP32. Ricorda di impostare il pin di ripristino e slave seleziona in base alla scheda. Qualunque delle pin digitali ESP32 può essere impostata come Primo E Ss:
Dopo aver caricato il codice su ESP32. Toccare e tenere premuto la scheda/tag RFID con sensore MFRC522:
Il sensore leggerà i dati salvati all'interno del tag RFID e lo visualizzerà sul monitor seriale. Qui possiamo vedere il Uid per tag RFID che indica "02 DC B4 C3".
Totale di 16 (0-15) settori in cui RFID La memoria di scheda/tag 1K è organizzata. Quattro (0-3) blocchi sono inclusi in ciascuno di questi 16 settori. Ogni blocco ha la capacità di archiviare 16 (0-15) byte di dati.
Questi dati lo rappresentano:
16 settori x 4 blocchi x 16 byte di dati = 1024 byte = 1K Memoria
Il monitor seriale IDE Arduino mostra la distribuzione degli Stati Uniti della memoria 1K del tag RFID. Questa distribuzione contiene anche settori, blocchi e informazioni sui dati in righe e colonne dei dati di output:
Puoi anche leggere l'ID univoco (Uid) per la scheda alla fine dell'output:
4: leggere un tag RFID usando ESP32
Ora abbiamo letto l'ID univoco (UID) per il tag RFID. Scriveremo un codice Arduino che salva queste informazioni sulla scheda e concede l'accesso all'utente se il tag RFID con lo stesso UID è toccato con il sensore MFRC522.
4.1: codice
Apri IDE Select ESP32 Scheda e Carica il codice fornito.
/*Codice avviato includendo la libreria SPI e MFRC522. Successivamente, abbiamo definito il pin di ripristino e slave seleziona per il sensore. Un LED al pin D12 viene inizializzato come output.
La scheda RFID che vogliamo leggere viene inizializzata definendo l'UID. Questo è lo stesso uid che abbiamo usando il Dumpinfo Codice di esempio:
UN SE la condizione controllerà l'UID per la scheda che è sfruttata con il sensore. Se l'UID corrisponde a quello all'interno del LED del codice si accenderà e verrà stampato il messaggio di accesso autorizzato, altrimenti il LED rimarrà spento e verrà visualizzato il messaggio negato di accesso se viene sfruttata qualsiasi altra scheda.
4.2: output
Nell'output possiamo vedere che il tag RFID non è sfruttato con il sensore MFRC522, quindi il LED è disattivato.:
Toccare o portare la scheda/tag RFID vicino all'uscita del sensore seguente verrà visualizzato sul monitor seriale che visualizza l'UID della scheda:
LED è acceso se l'accesso è concesso e l'UID corrisponde a quello che abbiamo definito all'interno del codice:
Abbiamo completato l'interfacciatura del tag RFID con il sensore RC522 utilizzando la scheda ESP32 e IDE.
Conclusione
ESP32 è una scheda IoT che presenta tutte le interfacce di comunicazione necessarie per lo scambio di dati tra diversi dispositivi. ESP32 ha diversi pin GPIO per leggere i dati dai sensori. L'uso del protocollo SPI ESP32 può leggere i dati del sensore RFID e è possibile progettare più progetti. Questo articolo copre l'interfaccia ESP32 con il sensore e il codice RC522 richiesti per leggere qualsiasi scheda/tag RFID.