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
- PN532 RFID/NFC Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard
- Jumper telleri
- RFID/NFC etiketleri (örn. Mifare kartları)
- Arduino IDE kurulu bir bilgisayar
1. Adım: PN532 modülünü anlamak
PN532 modülü üç iletişim modunu destekler:
- I2C (Birçok modül için varsayılan): SDA ve SCL çizgileri kullanır.
- SPI: MOSI, MISO ve SCK çizgileri kullanır.
- 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:
- Adafruit PN532 Kütüphanesi
- Adafruit Busio Kütüphanesi (PN532 kütüphanesine bağımlılık)
Yüklenecek adımlar:
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "Adafruit PN532" arayın ve tıklayın Düzenlemek.
- "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
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - 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ı
- Erişim Kontrol Sistemleri
- Temassız Ödeme Sistemleri
- Akıllı Envanter Yönetimi
- 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!