Cüzdanımızdaki otobüs kartları, bina giriş kartları veya otel anahtarları... Hepsinin ortak noktası pil içermemeleridir. RFID (Radyo Frekansı ile Tanımlama) teknolojisi sayesinde okuyucu, karta havadan enerji gönderir ve kart uyanıp "Benim Numaram Bu!" diye bağırır.

1. Pil Yoksa Enerji Nereden Geliyor?

RC522 modülü sürekli olarak etrafına manyetik bir alan yayar. Karta (Tag) yaklaştırdığınızda, kartın içindeki bakır bobin bu manyetik alanı elektriğe çevirir. Bu küçük elektrik, kartın içindeki çipi çalıştırmaya yeter.

RC522 OKUYUCU Elektromanyetik Alan RFID KART UID: A3 4F E2 10

2. Kritik Uyarı: 3.3 Volt!

🔥
SAKIN YAPMAYIN: RC522 modülünün VCC pinini sakın Arduino'nun 5V pinine bağlamayın! Bu modül kesinlikle 3.3V ile çalışır. 5V verirseniz çip anında yanar ve çöp olur.

3. Pin Bağlantıları (SPI Protokolü)

RFID modülü çok hızlı veri aktarımı gerektirdiği için SPI (Serial Peripheral Interface) protokolünü kullanır. Bu protokolün pinleri Arduino'da sabittir, değiştiremezsiniz.

RC522 Pin Arduino UNO Pin Görevi
3.3V 3.3V Güç (Dikkat!)
RST Pin 9 Reset
GND GND Toprak
IRQ - Bağlanmaz
MISO Pin 12 Veri Girişi
MOSI Pin 11 Veri Çıkışı
SCK Pin 13 Saat Sinyali
SDA (SS) Pin 10 Slave Select

4. Yazılım: Kimlik Numarası (UID) Okuma

🛠️ Kütüphane Kurulumu

Arduino IDE > Kütüphaneleri Yönet kısmından "MFRC522" kütüphanesini (GithubCommunity veya Miguel Balboa yapımı) aratıp kurun.

RFID_UID_Oku.ino C++
#include <SPI.h>
#include <MFRC522.h>

// Pin Tanımları
#define RST_PIN   9
#define SS_PIN    10

// Modül nesnesini oluştur
MFRC522 rfid(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(9600);
  SPI.begin();      // SPI başlat
  rfid.PCD_Init();  // RFID modülünü başlat
  Serial.println("Kartinizi okutun...");
}

void loop() {
  // 1. Yeni kart var mı? Yoksa başa dön.
  if (!rfid.PICC_IsNewCardPresent()) return;

  // 2. Kartın kimliğini okuyabiliyor muyuz?
  if (!rfid.PICC_ReadCardSerial()) return;

  // 3. UID'yi Ekrana Yazdır
  Serial.print("KART 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();

  // 4. Okumayı durdur (Aynı kartı sürekli okumasın)
  rfid.PICC_HaltA();
}
        

5. Bu ID İle Ne Yapabilirim?

🔒 Elektronik Kapı Kilidi

Seri monitörde çıkan UID kodunu bir if sorgusuna koyun. Eğer kod sizin anahtarlığınızın koduysa Servo motoru (ID: 24) çalıştırıp kapıyı açsın. Değilse Buzzer (ID: 27) ile alarm çalsın.

☕ Kahve Otomatı

Kart okutulunca bir değişkenden kredi düşülür ve röle (ID: 19) tetiklenerek su pompası çalıştırılır.