De PN532 is een veelzijdige RFID/NFC -lezingsmodule die meerdere communicatiemodi en normen ondersteunt, waardoor het ideaal is voor authenticatie, contactloze betaling en IoT -projecten. Deze zelfstudie zal je begeleiden door de PN532 -module te interfaceren met een Arduino om RFID/NFC -tags te lezen.
Wat u nodig hebt
- PN532 RFID/NFC -module
- Arduino Board (bijv. UNO, Mega, Nano)
- Breadboard
- Jumper draden
- RFID/NFC -tags (bijv. Mifare -kaarten)
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de PN532 -module
De PN532 -module ondersteunt drie communicatiemodi:
- I2C (Standaard voor veel modules): gebruikt SDA- en SCL -lijnen.
- Spi: Gebruikt MOSI-, MISO- en SCK -lijnen.
- UART (serieel): Gebruikt TX- en RX -pinnen.
In deze zelfstudie zullen we de I2c -modus, omdat het eenvoudiger is om op te zetten en algemeen ondersteund.
PN532 Pinout in I2C -modus
Pin | Functie |
---|---|
VCC | Voeding (3.3V/5V) |
GND | Grond |
SDA | I2C -gegevenslijn |
SCL | I2c kloklijn |
Stap 2: De PN532 bedraden aan Arduino
Hier leest u hoe u de PN532 -module in I2C -modus kunt verbinden met een Arduino UNO:
PN532 PIN | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Opmerking: Als uw module een modus selectie jumper heeft, stel deze dan in op de i2c -modus.
Stap 3: Installeer de vereiste bibliotheken
Installeer de volgende bibliotheken om de interactie met de PN532 -module te vereenvoudigen:
- Adafruit pn532 bibliotheek
- Adafruit Busio -bibliotheek (een afhankelijkheid voor de PN532 -bibliotheek)
Stappen om te installeren:
- Open de Arduino Ide.
- Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
- Zoek naar "Adafruit PN532" en klik Installeren.
- Zoek naar "Adafruit Busio" en klik op Installeren.
Stap 4: Upload de code
Hier is een voorbeeldschets om gegevens te lezen van een 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
}
}
Stap 5: Test de installatie
- Sluit de Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
- Upload de code naar de Arduino door te klikken Uploaden.
- Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op
9600
. - Plaats een RFID/NFC -tag in de buurt van de PN532 -module. De seriële monitor moet de UID van de tag weergeven (unieke identificatie).
Problemen oplossen
- Module niet gedetecteerd: Controleer de bedrading dubbel en zorg ervoor dat de modus jumper is ingesteld op I2C.
- Geen tag gedetecteerd: Zorg ervoor dat de tag compatibel is (bijv. Mifare -kaarten voor dit voorbeeld).
- Onregelmatige metingen: Gebruik kortere jumper draden en zorg voor stabiele stroom naar de module.
Toepassingen van de PN532 -module
- Toegangscontrolesystemen
- Contactloze betalingssystemen
- Smart Inventory Management
- IoT -apparaten die veilige authenticatie vereisen
Conclusie
Je hebt de PN532 RFID/NFC -module met succes gekoppeld met een Arduino en RFID/NFC -tags gelezen. Deze veelzijdige module biedt eindeloze mogelijkheden voor veilige authenticatie en gegevensuitwisseling in uw projecten. Experimenteer met extra functies zoals schrijven naar tags of peer-to-peer communicatie om meer geavanceerde applicaties te bouwen!