Sensore RFID RCOP 102 di interfaccia con Arduino Nano

Sensore RFID RCOP 102 di interfaccia con Arduino Nano
Arduino Nano è una scheda basata su microcontrollori compatta di energia che contiene diversi pin GPIO per i sensori di interfacciamento. In questo tutorial Arduino Nano sarà interfacciato con il sensore RFID utilizzando il codice Arduino. RC522 è un sensore intelligente basato su SPI in grado di leggere schede RFID, tag e bande intelligenti.

Contenuto trattato in questo articolo:

  • 1: Introduzione al sensore RC522
  • 2: pinout del sensore RC522
  • 3: Sensore RFID RC522 interfacciante con Arduino Nano
    • 3.1: schema
    • 3.2: installazione delle librerie richieste
    • 3.3: Ottenere l'UID per la scheda/tag RFID
  • 4: Lettura di un tag RFID usando Arduino Nano
    • 4.1: codice
    • 4.2: output

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 a terra del circuito e il perno primo viene utilizzato per reimpostare 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 Arduino Nano

L'interfaccia del sensore MFRC522 con un microcontrollore Arduino è 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 Arduino e il sensore MFRC522, come i pin SPI, il pin reset e altri, secondo il modello della scheda Arduino utilizzata.

Con il cablaggio corretto e la libreria correttamente installata, l'Arduino sarà in grado di comunicare con il sensore MFRC522 ed eseguire le azioni desiderate come la lettura e la scrittura su carte e tag.

1: schema

L'immagine schematica RC522 con Arduino Nano è mostrata di seguito:

2: installazione delle librerie richieste

La libreria MFRC522 è necessaria per la lettura della scheda e dei 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: 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 Arduino Nano. Ricorda di impostare il pin di ripristino e slave seleziona in base alla scheda Arduino. Qualunque delle pin digitali Arduino può essere impostata come Primo E Ss.

Dopo aver caricato il codice su Arduino Nano. Tocca e tieni 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: Lettura di un tag RFID usando Arduino Nano

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.

1: codice

Apri IDE, selezionare Nano Scheda e caricare il codice dato:

/*
****************
Linuxhint.com
****************
Linuxhint.com
****************
*/
#includere
#includere
#define ss_pin 10 /*slave select pin* /
#define RST_PIN 9 /*PIN RESET per RC522* /
#define LED_G 8 /*PIN 8 per LED* /
MFRC522 MFRC522 (SS_PIN, RST_PIN); /*Crea mfrc522 inizializzato*/
void setup ()

Seriale.Inizia (9600); /*Comunicazione seriale inizia*/
Sp.inizio(); /*Comunicazione SPI inizializzata*/
MFRC522.Pcd_init (); /*Sensore rfid inizializzato*/
pinMode (led_g, output); /*Pin LED impostata come output*/
Seriale.println ("Metti la tua carta al lettore ...");
Seriale.println ();

void loop ()

/*Cerca la scheda RFID*/
Se ( ! MFRC522.Picc_isnewcardpresent ())

ritorno;

/*Seleziona scheda*/
Se ( ! MFRC522.Picc_readcardserial ())

ritorno;

/*Mostra UID per la scheda/Tag sul monitor seriale*/
Seriale.print ("uid tag:");
Stringa content = "";
lettera di byte;
per (byte i = 0; i < mfrc522.uid.size; i++)

Seriale.Stampa (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " ");
Seriale.Stampa (MFRC522.uid.uidbyte [i], esadecimale);
contenuto.Concat (String (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " "));
contenuto.Concat (String (MFRC522.uid.uidbyte [i], esadecimale));

Seriale.println ();
Seriale.print ("Messaggio:");
contenuto.touppercase ();
if (contenuto.substring (1) == "02 dc b4 c3")/*uid per la scheda/tag che vogliamo dare accesso sostituire con la tua scheda uid*/

Seriale.println ("accesso autorizzato"); /*Stampa Messaggio se UID corrisponde con il database*/
Seriale.println ();
ritardo (500);
DigitalWrite (LED_G, High); /*LED Accendi*/
ritardo (2500);
DigitalWrite (LED_G, basso);

altro
Seriale.println ("accesso negata"); /*Se uid non corrisponde al messaggio di stampa*/

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 D8 è 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.

2: output

In output possiamo vedere che il tag RFID non è toccato con il sensore MFRC522, quindi nessun LED è acceso:

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 Arduino Nano Board e IDE.

Conclusione

Arduino Nano è una scheda di conservazione dell'energia che ha diversi pin GPIO per prendere input da diversi sensori. Arduino Nano è dotato di supporto integrato per il protocollo UART, SPI e I2C che consente l'uso di sensori utilizzando questi protocolli di comunicazione Arduino. Questo articolo copre l'interfaccia di Arduino Nano con sensore e codice RC522 richiesti per leggere qualsiasi scheda/tag RFID.