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
- PN532 RFID/NFC
- Arduino Board (t.ex. Uno, Mega, Nano)
- Bakbord
- Bulttrådar
- RFID/NFC -taggar (t.ex. Mifare -kort)
- En dator med Arduino Ide installerad
Steg 1: Förstå PN532 -modulen
PN532 -modulen stöder tre kommunikationslägen:
- I2c (Standard för många moduler): Använder SDA- och SCL -linjer.
- Spi: Använder MOSI, MISO och SCK -linjer.
- 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:
- Adafruit PN532 bibliotek
- Adafruit Busio Library (ett beroende för PN532 -biblioteket)
Steg för att installera:
- Öppna Arduino IDE.
- Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
- Sök efter "Adafruit PN532" och klicka Installera.
- 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
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden till Arduino genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - 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
- Åtkomstkontrollsystem
- Kontaktlösa betalningssystem
- Smart lagerhantering
- 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!