PN532 on monipuolinen RFID/NFC -lukijamoduuli, joka tukee useita viestintätiloja ja -standardeja, mikä tekee siitä ihanteellisen todennuksen, kontaktiton maksun ja IoT -projektien kanssa. Tämä opetusohjelma opastaa sinua rajaamaan PN532 -moduulin arduinon kanssa RFID/NFC -tunnisteiden lukemiseen.
Mitä tarvitset
- PN532 RFID/NFC -moduuli
- Arduino Board (esim. UNO, Mega, Nano)
- Leipälauta
- Hyppyjohdot
- RFID/NFC -tunnisteet (esim. Mifare -kortit)
- Tietokone, jossa Arduino IDE on asennettu
Vaihe 1: PN532 -moduulin ymmärtäminen
PN532 -moduuli tukee kolmea viestintätapaa:
- I2C (Monien moduulien oletus): Käyttää SDA- ja SCL -linjoja.
- SPI: Käyttää mosi-, miso- ja sck -linjoja.
- Uart (sarja): Käyttää TX- ja RX -nastat.
Tässä opetusohjelmassa käytämme I2C -tila, koska se on yksinkertaisempaa asentaa ja tukea laajasti.
PN532 Pinout I2C -tilassa
Nasta | Funktio |
---|---|
VCC | Virtalähde (3,3 V/5 V) |
Hölynpöly | Pohja |
SDA | I2C -datalinja |
SCL | I2C -kellolinja |
Vaihe 2: PN532: n johdotus Arduinolle
Näin yhdistetään PN532 -moduuli Arduino UNO: ksi I2C -tilassa:
PN532 -nasta | Arduino -nasta |
---|---|
VCC | 5V |
Hölynpöly | Hölynpöly |
SDA | A4 |
SCL | A5 |
Huomaa: Jos moduulissasi on tilan valinta hyppääjä, aseta se I2C -tilaan.
Vaihe 3: Asenna vaadittavat kirjastot
Asenna seuraavat kirjastot PN532 -moduulin vuorovaikutuksen yksinkertaistamiseksi:
- Adafruit PN532 -kirjasto
- Adafruit Busio -kirjasto (Riippuvuus PN532 -kirjastosta)
Asennettava vaiheet:
- Avaa Arduino IDE.
- Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
- Etsi "Adafruit PN532" ja napsauta Asentaa.
- Etsi "Adafruit Busio" ja napsauta Asentaa.
Vaihe 4: Lataa koodi
Tässä on esimerkki luonnos, joka luetaan tietoja RFID/NFC -tunnisteesta:
#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
}
}
Vaihe 5: Testaa asennus
- Kytke Arduino tietokoneeseen USB: n kautta.
- Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
- Lataa koodi Arduinoon napsauttamalla Ladata.
- Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo
9600
. - Aseta RFID/NFC -tunniste lähellä PN532 -moduulia. Sarjamonitorin tulisi näyttää tunnisteen UID (yksilöivä tunniste).
Vianetsintä
- Moduulia ei havaittu: Tarkista johdotus ja varmista, että moodi-hyppy on asetettu I2C: ksi.
- Tunnistetta ei havaittu: Varmista, että tunniste on yhteensopiva (esim. Mifare -kortit tälle esimerkille).
- Virheelliset lukemat: Käytä lyhyempiä hyppyjohtoja ja varmista moduuliin vakaa virta.
PN532 -moduulin sovellukset
- Kulunvalvontajärjestelmät
- Kontaktittomat maksujärjestelmät
- Älykäs varastonhallinta
- IoT -laitteet, jotka vaativat turvallista todennusta
Johtopäätös
Olet onnistuneesti liitetty PN532 RFID/NFC -moduuliin arduinolla ja lukenut RFID/NFC -tunnisteita. Tämä monipuolinen moduuli avaa loputtomia mahdollisuuksia turvalliselle todennukselle ja tiedonvaihtolle projekteissasi. Kokeile lisäominaisuuksia, kuten kirjoittaminen merkinnöille tai vertaisverkkoviestinnästä edistyneempien sovellusten rakentamiseksi!