Kuinka käyttää PN532 RFID/NFC -lukijaa Arduinon kanssa

How to Use the PN532 RFID/NFC Reader with Arduino

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

  1. PN532 RFID/NFC -moduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. Leipälauta
  4. Hyppyjohdot
  5. RFID/NFC -tunnisteet (esim. Mifare -kortit)
  6. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: PN532 -moduulin ymmärtäminen

PN532 -moduuli tukee kolmea viestintätapaa:

  1. I2C (Monien moduulien oletus): Käyttää SDA- ja SCL -linjoja.
  2. SPI: Käyttää mosi-, miso- ja sck -linjoja.
  3. 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:

  1. Adafruit PN532 -kirjasto
  2. Adafruit Busio -kirjasto (Riippuvuus PN532 -kirjastosta)

Asennettava vaiheet:

  1. Avaa Arduino IDE.
  2. Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
  3. Etsi "Adafruit PN532" ja napsauta Asentaa.
  4. 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

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi Arduinoon napsauttamalla Ladata.
  4. Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo 9600.
  5. 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

  1. Kulunvalvontajärjestelmät
  2. Kontaktittomat maksujärjestelmät
  3. Älykäs varastonhallinta
  4. 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!

Jätä kommentti

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.