Cum se folosește cititorul PN532 RFID/NFC cu Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

PN532 este un modul versatil RFID/NFC Reader care acceptă mai multe moduri și standarde de comunicare, ceea ce îl face ideal pentru autentificare, plată fără contact și proiecte IoT. Acest tutorial vă va ghida prin interfațarea modulului PN532 cu un Arduino pentru a citi etichetele RFID/NFC.

Ce vei avea nevoie

  1. PN532 Modul RFID/NFC
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Bord
  4. Fire de jumper
  5. Etichete RFID/NFC (de exemplu, carduri mifare)
  6. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea modulului PN532

Modulul PN532 acceptă trei moduri de comunicare:

  1. I2c (implicit pentru multe module): utilizează linii SDA și SCL.
  2. SPI: Folosește linii MOSI, MISO și SCK.
  3. Uart (serial): Folosește pinii TX și RX.

În acest tutorial, vom folosi Modul I2C, întrucât este mai simplu de configurat și acceptat pe scară largă.

PN532 PINOUT în modul I2C

Ac Funcţie
VCC Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C

Pasul 2: Cablarea PN532 către Arduino

Iată cum să conectați modulul PN532 la un Arduino Uno în modul I2C:

PN532 PIN Pinul Arduino
VCC 5V
GND GND
SDA A4
SCL A5

Nota: Dacă modulul dvs. are un jumper de selecție a modului, setați -l în modul I2C.

Pasul 3: Instalați bibliotecile necesare

Pentru a simplifica interacțiunea cu modulul PN532, instalați următoarele biblioteci:

  1. Biblioteca Adafruit PN532
  2. Biblioteca Adafruit Busio (o dependență pentru biblioteca PN532)

Pași pentru instalare:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Adafruit PN532” și faceți clic pe Instala.
  4. Căutați „Adafruit Busio” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a citi date dintr -o etichetă 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
  }
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Puneți o etichetă RFID/NFC lângă modulul PN532. Monitorul în serie ar trebui să afișeze UID -ul etichetei (identificator unic).

Depanare

  • Modulul care nu este detectat: Verificați dublu cablarea și asigurați-vă că jumperul de mod este setat pe I2C.
  • Nu este detectată nicio etichetă: Asigurați -vă că eticheta este compatibilă (de exemplu, carduri mifare pentru acest exemplu).
  • Citiri neregulate: Utilizați fire de jumper mai scurte și asigurați o putere stabilă la modul.

Aplicații ale modulului PN532

  1. Sisteme de control de acces
  2. Sisteme de plată fără contact
  3. Gestionare inteligentă a inventarului
  4. Dispozitive IoT care necesită autentificare sigură

Concluzie

Ați interfațat cu succes modulul PN532 RFID/NFC cu un Arduino și citiți etichete RFID/NFC. Acest modul versatil deschide posibilități interminabile pentru autentificarea sigură și schimbul de date în proiectele dvs. Experimentați cu caracteristici suplimentare, cum ar fi scrierea pe etichete sau comunicarea peer-to-peer pentru a construi aplicații mai avansate!

Lasă un comentariu

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.