Arduino ile RC522 RFID modülü nasıl kullanılır

How to Use the RC522 RFID Module with Arduino

RC522, kablosuz iletişim ve tanımlama için kullanılan popüler bir RFID modülüdür. Erişim kontrol sistemlerinde, temassız ödeme sistemlerinde ve envanter izlemede yaygın olarak kullanılmaktadır. Bu öğretici, RFID etiketlerini ve kartlarını okumak için RC522 RFID modülünü Arduino ile arayüzde yönlendirecektir.


Ne İhtiyacınız Olacak

  1. RC522 RFID Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. RFID etiketleri veya kartlar (13.56 MHz)
  4. Breadboard ve jumper telleri
  5. Arduino IDE kurulu bir bilgisayar

Adım 1: RC522 RFID modülünü anlamak

RC522 RFID modülü 13.56 MHz'de çalışır ve SPI protokolünü kullanarak bir mikro denetleyici ile iletişim kurar. Bir RFID anteni ile birlikte gelir ve hem okuma hem de yazma işlemlerini destekler.

RC522 Pinout

Pin İşlev
SDA SPI SS (Slave Select)
Sck SPI saati
Mosi SPI veri girişi
Miso SPI veri çıkışı
IRQ Kesme isteği (isteğe bağlı)
Gnd Zemin
İlk Sıfırlamak
3.3v Güç kaynağı

Not: RC522 3.3V mantığı üzerinde çalışır; Bağlantılarınızın kartınızın voltaj gereksinimlerini eşleştirdiğinden emin olun.


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

RC522 RFID modülünü bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

RC522 PIN Arduino pimi
SDA Pim 10
Sck Pin 13
Mosi Pim 11
Miso Pim 12
IRQ Bağlı değil
Gnd Gnd
İlk Pin 9
3.3v 3.3v

Not: Diğer Arduino panoları için, SPI pimlerini doğru şekilde haritaladığınızdan emin olun.


Adım 3: Gerekli kütüphaneyi kurun

RC522 modülüyle çalışmak için "MFRC522" kitaplığını yükleyin.

Yüklenecek adımlar:

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

4. Adım: Kodu yükleyin

İşte RFID etiketi verilerini okumak için örnek bir taslak:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9  // Reset pin
#define SS_PIN 10  // Slave select pin

MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library

void setup() {
  Serial.begin(9600);
  while (!Serial);

  SPI.begin();      // Initialize SPI bus
  rfid.PCD_Init();  // Initialize RFID reader

  Serial.println("RC522 RFID Reader Initialized");
}

void loop() {
  // Check for a new card
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
    return;
  }

  Serial.println("Card detected:");

  // Print the UID of the card
  Serial.print("UID: ");
  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(rfid.uid.uidByte[i], HEX);
  }
  Serial.println();

  rfid.PICC_HaltA(); // Halt the card
}

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. Modülün yanına bir RFID etiketi veya kart yerleştirin. Kartın UID'si seri monitörde görüntülenecektir.

İsteğe bağlı: bir RFID etiketine veri yazma

Bir RFID etiketine veri yazmak için kullanabilirsiniz. PICC_Write MFRC522 kütüphanesinde işlev. Ayrıntılı yazma işlemleri için kütüphane örneklerine bakın.


RC522 uygulamaları

  1. Erişim Kontrol Sistemleri
  2. Temassız Ödeme Sistemleri
  3. Envanter izleme ve yönetimi
  4. Akıllı Katılım Sistemleri

Sorun giderme

  • Modülden yanıt yok: Kabloları kontrol edin ve SPI bağlantılarının doğru olduğundan emin olun.
  • UID tespit edilmedi: Etiketin RFID anteni aralığında olduğundan emin olun.
  • Kütüphane Hataları: MFRC522 kütüphanesinin doğru şekilde yüklendiğini doğrulayın.

Çözüm

RC522 RFID modülünü Arduino ile başarıyla arayüz ettiniz ve RFID etiket verilerini okumanıza izin verdiniz. Bu çok yönlü modül, kablosuz iletişim ve kimlik gerektiren projeler için mükemmeldir. Etiketlere veri yazmak veya gelişmiş uygulamalar için daha büyük sistemlere entegre etmek 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.