Der PN532 ist ein vielseitiges RFID/NFC -Readermodul, das mehrere Kommunikationsmodi und Standards unterstützt und es ideal für Authentifizierung, kontaktlose Zahlung und IoT -Projekte macht. In diesem Tutorial führen Sie das PN532 -Modul mit einem Arduino, um RFID/NFC -Tags zu lesen.
Was Sie brauchen werden
- PN532 RFID/NFC -Modul
- Arduino Board (z. B. Uno, Mega, Nano)
- Brotbrett
- Jumperdrähte
- RFID/NFC -Tags (z. B. Mifare -Karten)
- Ein Computer mit der Arduino -IDE installiert
Schritt 1: Verständnis des PN532 -Moduls
Das PN532 -Modul unterstützt drei Kommunikationsmodi:
- I2C (Standard für viele Module): Verwendet SDA- und SCL -Zeilen.
- Spi: Verwendet Mosi-, Miso- und SCK -Linien.
- UART (Serie): Verwendet TX- und RX -Stifte.
In diesem Tutorial werden wir die verwenden I2C -Modus, da es einfacher ist, eingerichtet und weit verbreitet zu sein.
PN532 Pinout im I2C -Modus
Stift | Funktion |
---|---|
VCC | Stromversorgung (3,3 V/5 V) |
GND | Boden |
SDA | I2C -Datenzeile |
Scl | I2C -Uhr -Linie |
Schritt 2: Verkabelung des PN532 mit Arduino
Hier erfahren Sie, wie Sie das PN532 -Modul an einen Arduino Uno im I2C -Modus anschließen:
PN532 Pin | Arduino Pin |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 |
Scl | A5 |
Notiz: Wenn Ihr Modul einen Modusauswahlspringer enthält, stellen Sie ihn auf den I2C -Modus ein.
Schritt 3: Installieren Sie die erforderlichen Bibliotheken
Um die Interaktion mit dem PN532 -Modul zu vereinfachen, installieren Sie die folgenden Bibliotheken:
- Adafruit PN532 Bibliothek
- Adafruit Busio Library (Eine Abhängigkeit für die PN532 -Bibliothek)
Schritte zu installieren:
- Öffnen Sie die Arduino -IDE.
- Gehen zu Skizzieren > Bibliothek einbeziehen > Bibliotheken verwalten.
- Suchen Sie nach "Adafruit PN532" und klicken Sie auf Installieren.
- Suchen Sie nach "Adafruit Busio" und klicken Sie auf Installieren.
Schritt 4: Laden Sie den Code hoch hoch
Hier ist eine Beispielskizze zum Lesen von Daten aus einem RFID/NFC -Tag:
#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
}
}
Schritt 5: Testen Sie das Setup
- Schließen Sie den Arduino über USB an Ihren Computer an.
- Öffnen Sie die Arduino -IDE und wählen Sie die richtige Auswahl Planke Und Hafen unter dem Werkzeuge Speisekarte.
- Laden Sie den Code durch Klicken in den Arduino hoch in den Arduino Hochladen.
- Öffnen Sie den Serienmonitor (Werkzeuge > Serienmonitor) und den Baudrate auf festlegen
9600
. - Platzieren Sie ein RFID/NFC -Tag in der Nähe des PN532 -Moduls. Der serielle Monitor sollte die UID des Tags (eindeutige Kennung) anzeigen.
Fehlerbehebung
- Modul nicht erkannt: Überprüfen Sie die Verkabelung und stellen Sie sicher, dass der Modus-Jumper auf I2C eingestellt ist.
- Kein Tag erkannt: Stellen Sie sicher, dass das Tag kompatibel ist (z. B. Mifare -Karten für dieses Beispiel).
- Unregelmäßige Lesungen: Verwenden Sie kürzere Jumper -Drähte und sorgen Sie für eine stabile Leistung des Moduls.
Anwendungen des PN532 -Moduls
- Zugangskontrollsysteme
- Kontaktlose Zahlungssysteme
- Smart Inventory Management
- IoT -Geräte, die eine sichere Authentifizierung erfordern
Abschluss
Sie haben das PN532 RFID/NFC -Modul mit einem Arduino erfolgreich miteinander verbunden und RFID/NFC -Tags gelesen. Dieses vielseitige Modul eröffnet endlose Möglichkeiten für die sichere Authentifizierung und den Datenaustausch in Ihren Projekten. Experimentieren Sie mit zusätzlichen Funktionen wie Schreiben an Tags oder Peer-to-Peer-Kommunikation, um fortschrittlichere Anwendungen zu erstellen!