Arduino ile PN532 RFID/NFC okuyucusu nasıl kullanılır

How to Use the PN532 RFID/NFC Reader with Arduino

PN532, birden fazla iletişim modunu ve standartlarını destekleyen çok yönlü bir RFID/NFC okuyucu modülüdür, bu da kimlik doğrulama, temassız ödeme ve IoT projeleri için idealdir. Bu öğretici, RFID/NFC etiketlerini okumak için PN532 modülünü bir Arduino ile arabirim kurmanız için size rehberlik edecektir.

Ne İhtiyacınız Olacak

  1. PN532 RFID/NFC Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. Breadboard
  4. Jumper telleri
  5. RFID/NFC etiketleri (örn. Mifare kartları)
  6. Arduino IDE kurulu bir bilgisayar

1. Adım: PN532 modülünü anlamak

PN532 modülü üç iletişim modunu destekler:

  1. I2C (Birçok modül için varsayılan): SDA ve SCL çizgileri kullanır.
  2. SPI: MOSI, MISO ve SCK çizgileri kullanır.
  3. Uart (seri): Tx ve Rx pimleri kullanır.

Bu öğreticide, I2C modu, kurulumu daha kolay olduğu ve yaygın olarak desteklendiği için.

I2C modunda PN532 Pinout

Pin İşlev
VCC Güç kaynağı (3.3V/5V)
Gnd Zemin
SDA I2C veri hattı
Scl I2C saat çizgisi

Adım 2: PN532'yi Arduino'ya bağlama

PN532 modülünü I2C modunda bir Arduino UNO'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

PN532 PIN Arduino pimi
VCC 5V
Gnd Gnd
SDA A4
Scl A5

Not: Modülünüzde bir mod seçim jumper varsa, I2C moduna ayarlayın.

Adım 3: Gerekli kütüphaneleri yükleyin

PN532 modülü ile etkileşimi basitleştirmek için aşağıdaki kütüphaneleri yükleyin:

  1. Adafruit PN532 Kütüphanesi
  2. Adafruit Busio Kütüphanesi (PN532 kütüphanesine bağımlılık)

Yüklenecek adımlar:

  1. Arduino IDE'yi açın.
  2. Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
  3. "Adafruit PN532" arayın ve tıklayın Düzenlemek.
  4. "Adafruit Busio" adını arayın ve tıklayın Düzenlemek.

4. Adım: Kodu yükleyin

Bir RFID/NFC etiketinden verileri okumak için örnek bir taslak:

#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
  }
}

Adım 5: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. PN532 modülünün yanına bir RFID/NFC etiketi yerleştirin. Seri monitör etiketin UID'sini (benzersiz tanımlayıcı) görüntülemelidir.

Sorun giderme

  • Modül algılanmadı: Kabloları iki kez kontrol edin ve mod jumper'ın i2c olarak ayarlandığından emin olun.
  • Etiket tespit edilmedi: Etiketin uyumlu olduğundan emin olun (örneğin, bu örnek için Mifare kartları).
  • Düzensiz okumalar: Daha kısa jumper telleri kullanın ve modüle kararlı güç sağlayın.

PN532 modülünün uygulamaları

  1. Erişim Kontrol Sistemleri
  2. Temassız Ödeme Sistemleri
  3. Akıllı Envanter Yönetimi
  4. Güvenli kimlik doğrulaması gerektiren IoT cihazları

Çözüm

PN532 RFID/NFC modülünü bir Arduino ile başarıyla arayüz ettiniz ve RFID/NFC etiketlerini okudunuz. Bu çok yönlü modül, projelerinizde güvenli kimlik doğrulama ve veri alışverişi için sonsuz olasılıklar açar. Daha gelişmiş uygulamalar oluşturmak için etiketlere yazma veya eşler arası iletişim gibi ek özellikleri deneyin!

Yorum bırak

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.