A PN532 egy sokoldalú RFID/NFC Reader modul, amely több kommunikációs módot és szabványt támogat, így ideális a hitelesítéshez, az érintés nélküli fizetéshez és az IoT projektekhez. Ez az oktatóanyag vezeti Önt a PN532 modul és az Arduino és az RFID/NFC címkék olvasásához.
Mire lesz szüksége
- PN532 RFID/NFC modul
- Arduino Board (például Uno, Mega, Nano)
- Kenyér
- Jumper vezetékek
- RFID/NFC címkék (például Mifare kártyák)
- Egy számítógép, amelyen az Arduino IDE telepített
1. lépés: A PN532 modul megértése
A PN532 modul három kommunikációs módot támogat:
- I2C (Alapértelmezés sok modulnál): Az SDA és az SCL sorokat használja.
- Spi: Mosi, Miso és SCK vonalakat használ.
- UART (Serial): TX és RX csapokat használ.
Ebben az oktatóanyagban a I2C mód, mivel egyszerűbb beállítani és széles körben támogatni.
PN532 pinout i2c módban
Csap | Funkció |
---|---|
VCC | Tápegység (3,3 V/5 V) |
GND | Föld |
SDA | I2C adatsor |
SCL | I2C óravonal |
2. lépés: A PN532 vezetékesítése Arduino -ra
Íme, hogyan lehet csatlakoztatni a PN532 modult egy Arduino UNO -hoz I2C módban:
PN532 PIN | Arduino Pin |
---|---|
VCC | 5 V -os |
GND | GND |
SDA | A4 |
SCL | A5 |
Jegyzet: Ha a modulnak van mód választási jumperje, állítsa be az i2c módra.
3. lépés: Telepítse a szükséges könyvtárakat
A PN532 modullal való interakció egyszerűsítéséhez telepítse a következő könyvtárakat:
- AdaFruit PN532 könyvtár
- ADAFRY BUSIO könyvtár (A PN532 könyvtár függősége)
A telepítéshez szükséges lépések:
- Nyissa meg az Arduino IDE -t.
- Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
- Keresse meg az "AdaFruit PN532" -et, és kattintson Beilleszt.
- Keressen az "AdaFruit BuSio" -ra, és kattintson Beilleszt.
4. lépés: Töltse fel a kódot
Íme egy példa vázlat az RFID/NFC címkéből származó adatok olvasására:
#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
}
}
5. lépés: Tesztelje a beállítást
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot az Arduino -ba kattintással Feltöltés.
- Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet
9600
. - Helyezzen egy RFID/NFC címkét a PN532 modul közelében. A soros monitornak meg kell jelenítenie a címke UID -jét (egyedi azonosító).
Hibaelhárítás
- A modul nem észlelt: Ellenőrizze duplán a vezetékeket, és ellenőrizze, hogy az üzemmód-jumper I2C-re van-e állítva.
- Nem észlelt címke: Győződjön meg arról, hogy a címke kompatibilis -e (például a példakártyák MIFare kártyáit).
- Rendkívüli olvasmányok: Használjon rövidebb jumper vezetékeket, és biztosítsa a modul stabil teljesítményét.
A PN532 modul alkalmazásai
- Hozzáférés -vezérlő rendszerek
- Érintés nélküli fizetési rendszerek
- Intelligens készletkezelés
- A biztonságos hitelesítést igénylő IoT eszközök
Következtetés
Sikeresen összekapcsolja a PN532 RFID/NFC modult egy Arduino -val, és olvassa el az RFID/NFC címkéket. Ez a sokoldalú modul végtelen lehetőségeket nyit meg a biztonságos hitelesítés és az adatcsere számára a projektekben. Kísérletezzen olyan további funkciókkal, mint a címkék vagy a peer-to-peer kommunikáció írása, hogy fejlettebb alkalmazások készítéséhez!