Hur man använder PN532 RFID/NFC -läsaren med Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

PN532 är en mångsidig RFID/NFC -läsare som stöder flera kommunikationslägen och standarder, vilket gör den idealisk för autentisering, kontaktlös betalning och IoT -projekt. Denna handledning leder dig genom att gränssnitt PN532 -modulen med en Arduino för att läsa RFID/NFC -taggar.

Vad du behöver

  1. PN532 RFID/NFC
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. Bakbord
  4. Bulttrådar
  5. RFID/NFC -taggar (t.ex. Mifare -kort)
  6. En dator med Arduino Ide installerad

Steg 1: Förstå PN532 -modulen

PN532 -modulen stöder tre kommunikationslägen:

  1. I2c (Standard för många moduler): Använder SDA- och SCL -linjer.
  2. Spi: Använder MOSI, MISO och SCK -linjer.
  3. Uart (serie): Använder TX- och RX -stift.

I denna handledning kommer vi att använda I2c -läge, som det är enklare att ställa in och stödja allmänt.

PN532 pinout i i2c -läge

Stift Fungera
Vcc Strömförsörjning (3.3V/5V)
Gard Jord
SDA I2C -datalinjen
SCL I2c klocklinje

Steg 2: Kopplar PN532 till Arduino

Så här ansluter du PN532 -modulen till en Arduino UNO i I2C -läge:

Pn532 -stift Arduinosnål
Vcc 5V
Gard Gard
SDA A4
SCL A5

Notera: Om din modul har en lägesval jumper, ställ in den i i2c -läge.

Steg 3: Installera de nödvändiga biblioteken

För att förenkla interaktionen med PN532 -modulen installerar du följande bibliotek:

  1. Adafruit PN532 bibliotek
  2. Adafruit Busio Library (ett beroende för PN532 -biblioteket)

Steg för att installera:

  1. Öppna Arduino IDE.
  2. Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
  3. Sök efter "Adafruit PN532" och klicka Installera.
  4. Sök efter "Adafruit Busio" och klicka Installera.

Steg 4: Ladda upp koden

Här är ett exempel skiss för att läsa data från en RFID/NFC -tagg:

#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
  }
}

Steg 5: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden till Arduino genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Placera en RFID/NFC -tagg nära PN532 -modulen. Den seriella monitorn ska visa taggens UID (unik identifierare).

Felsökning

  • Modulen inte upptäckt: Kontrollera ledningarna och se till att lägeshopparen är inställd på I2C.
  • Ingen tagg upptäckt: Se till att taggen är kompatibel (t.ex. Mifare -kort för detta exempel).
  • Ojämna avläsningar: Använd kortare jumpertrådar och se till stabil kraft till modulen.

Applikationer av PN532 -modulen

  1. Åtkomstkontrollsystem
  2. Kontaktlösa betalningssystem
  3. Smart lagerhantering
  4. IoT -enheter som kräver säker autentisering

Slutsats

Du har framgångsrikt interfogat PN532 RFID/NFC -modulen med en Arduino och läst RFID/NFC -taggar. Denna mångsidiga modul öppnar oändliga möjligheter för säker autentisering och datautbyte i dina projekt. Experimentera med ytterligare funktioner som att skriva till taggar eller peer-to-peer-kommunikation för att bygga mer avancerade applikationer!

Lämna en kommentar

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.