.. note:: Ciao, benvenuto nella community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati. **Perché unirsi?** - **Supporto esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Accedi in anteprima agli annunci di nuovi prodotti. - **Sconti speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni e omaggi festivi**: Partecipa a omaggi e promozioni speciali durante le festività. 👉 Pronto per esplorare e creare con noi? Clicca [|link_sf_facebook|] e unisciti oggi stesso! .. _ar_rfid: 2.35 Modulo RFID-RC522 ========================= Panoramica ----------------- In questa lezione imparerai a utilizzare il modulo RFID. RFID è l'acronimo di Radio Frequency Identification. Il suo principio di funzionamento si basa sulla comunicazione dati senza contatto tra il lettore e l'etichetta per identificare un obiettivo. Le applicazioni RFID sono molto estese; tra quelle più tipiche troviamo microchip per animali, immobilizzatori, controllo accessi, gestione parcheggi, automazione delle linee di produzione e gestione dei materiali. Componenti necessari ------------------------- .. image:: img/Part_two_35.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_rfid` Circuito Fritzing ---------------------- In questo esempio, inseriamo il modulo RFID nel breadboard. Colleghiamo il 3.3V del modulo RFID al 3.3V, GND a GND, RST al pin 2, SDA al pin 6, SCK al pin 5, MOSI al pin 4, MISO al pin 3 e IRQ al pin 7. .. image:: img/image259.png :align: center Schema elettrico ---------------------- .. image:: img/image260.png :align: center Codice ------------- .. note:: * Puoi aprire direttamente il file ``2.35_RFID.ino`` nella cartella ``sunfounder_vincent_kit_for_arduino\code\2.35_RFID``. * Qui viene utilizzata la libreria ``RFID1``; fai riferimento a :ref:`install_lib_man` per un tutorial sull'installazione. .. raw:: html Dopo aver caricato il codice sulla scheda Mega2560, puoi avvicinare la tua scheda RFID (chiave segreta) al lettore RFID. Il modulo leggerà le informazioni della scheda e le stamperà sul monitor seriale. Analisi del codice ---------------------- Le funzionalità del modulo sono incluse nella libreria rfid1.h. .. code-block:: arduino #include **Funzioni della libreria:** .. code-block:: arduino RFID1 Crea una nuova istanza della classe rfid1 che rappresenta un particolare modulo RFID collegato al tuo Arduino. .. code-block:: arduino void begin(IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN,SDA_PIN,RST_PIN) Configurazione dei pin. * ``IRQ_PIN, SCK_PIN, MOSI_PIN, MISO_PIN``: i pin utilizzati per la comunicazione SPI. * ``SDA_PIN``: adattatore dati sincrono. * ``RST_PIN``: i pin utilizzati per il reset. .. code-block:: arduino void init() Inizializza l'RFID. .. code-block:: arduino uchar request(uchar reqMode, uchar *TagType); Cerca una scheda e leggi il tipo di scheda. La funzione restituirà lo stato corrente della lettura RFID e restituirà MI_OK se il processo ha successo. * ``reqMode``: Metodo di ricerca. PICC_REQIDL è definito con il comando 0x26 (cerca le schede che non sono in modalità di riposo nell'area dell'antenna). * ``*TagType``: Memorizza il tipo di scheda, che può essere un valore a 4 byte (es. 0x0400). .. code-block:: arduino char * readCardType(uchar *TagType) Questa funzione decodifica il numero esadecimale a quattro cifre di ``*tagType`` nel tipo specifico di scheda e restituisce una stringa. Se passato 0x0400, verrà restituito "MFOne-S50". .. code-block:: arduino uchar anticoll(uchar *serNum); Evita conflitti e leggi il numero seriale della scheda. La funzione restituirà lo stato corrente della lettura RFID e restituirà MI_OK se il processo ha successo. * ``*serNum``: Memorizza il numero seriale della scheda e restituisce il numero seriale a 4 byte. Il 5° byte è il byte di verifica (es. ID della scheda magnetica: 5AE4C955). Immagine del fenomeno ------------------------ .. image:: img/Part_two_35_Code_Analysis.png :alt: 2.35 :align: center