Come utilizzare il lettore RFID/NFC PN532 con Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

PN532 è un modulo Reader RFID/NFC versatile che supporta più modalità di comunicazione e standard, rendendolo ideale per l'autenticazione, il pagamento senza contatto e i progetti IoT. Questo tutorial ti guiderà attraverso l'interfacciamento del modulo PN532 con un Arduino per leggere i tag RFID/NFC.

Cosa avrai bisogno

  1. Modulo RFID/NFC PN532
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Breadboard
  4. Fili jumper
  5. Tag RFID/NFC (ad es. Schede Mifare)
  6. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione del modulo PN532

Il modulo PN532 supporta tre modalità di comunicazione:

  1. I2c (Predefinito per molti moduli): utilizza linee SDA e SCL.
  2. Sp: Usa le linee MOSI, MISO e SCK.
  3. UART (seriale): Usa i pin TX e RX.

In questo tutorial, useremo il Modalità i2c, poiché è più semplice da configurare e ampiamente supportato.

PN532 Pinout in modalità I2C

Spillo Funzione
VCC Alimentazione (3.3V/5V)
GND Terra
SDA Linea di dati I2C
SCL Linea di orologio i2c

Passaggio 2: Cablaggio della PN532 ad Arduino

Ecco come collegare il modulo PN532 a un Arduino Uno in modalità I2C:

PIN PN532 Arduino Pin
VCC 5v
GND GND
SDA A4
SCL A5

Nota: Se il tuo modulo ha un jumper di selezione della modalità, impostalo in modalità I2C.

Passaggio 3: installare le librerie richieste

Per semplificare l'interazione con il modulo PN532, installare le seguenti librerie:

  1. Biblioteca Adafruit PN532
  2. Biblioteca Adafruit Busio (una dipendenza per la libreria PN532)

Passi da installare:

  1. Apri l'IDE Arduino.
  2. Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
  3. Cerca "Adafruit PN532" e fai clic su Installare.
  4. Cerca "Adafruit Busio" e fai clic su Installare.

Passaggio 4: caricare il codice

Ecco uno schizzo di esempio per leggere i dati da un tag RFID/NFC:

#include <Wire.h>
#include <Adafruit_PN532.h>

#define SDA_PIN A4
#define SCL_PIN A5

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
  Serial.begin(9600);
  Serial.println("PN532 RFID/NFC Reader Test");

  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("Didn't find PN532 module. Check connections.");
    while (1);
  }

  Serial.println("Found PN532 module.");
  nfc.SAMConfig(); // Configure the module in normal mode
  Serial.println("Waiting for an NFC card...");
}

void loop() {
  uint8_t success;
  uint8_t uid[] = { 0 }; // Buffer to store UID
  uint8_t uidLength;     // Length of the UID

  // Check if an NFC card is present
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

  if (success) {
    Serial.println("Found an NFC card!");
    Serial.print("UID Length: ");
    Serial.print(uidLength, DEC);
    Serial.println(" bytes");
    Serial.print("UID Value: ");
    for (uint8_t i = 0; i < uidLength; i++) {
      Serial.print(" 0x");
      Serial.print(uid[i], HEX);
    }
    Serial.println("");
    delay(1000); // Wait 1 second
  }
}

Passaggio 5: testare l'installazione

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice su Arduino facendo clic Caricamento.
  4. Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su 9600.
  5. Posizionare un tag RFID/NFC vicino al modulo PN532. Il monitor seriale dovrebbe visualizzare l'UID del tag (identificatore univoco).

Risoluzione dei problemi

  • Modulo non rilevato: Controllare il cablaggio e assicurarsi che il jumper di modalità sia impostato su I2C.
  • Nessun tag rilevato: Assicurarsi che il tag sia compatibile (ad esempio, schede mifare per questo esempio).
  • Letture irregolari: Usa fili del jumper più corti e assicurati una potenza stabile al modulo.

Applicazioni del modulo PN532

  1. Sistemi di controllo degli accessi
  2. Sistemi di pagamento senza contatto
  3. Smart Inventory Management
  4. Dispositivi IoT che richiedono autenticazione sicura

Conclusione

Hai interfacciato correttamente il modulo PN532 RFID/NFC con un Arduino e leggi i tag RFID/NFC. Questo modulo versatile apre infiniti possibilità per l'autenticazione sicura e lo scambio di dati nei tuoi progetti. Sperimenta funzionalità aggiuntive come la scrittura a tag o comunicazioni peer-to-peer per creare applicazioni più avanzate!

Lascia un commento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.