MFRC522 (RFID Okuyucu): Temassız Kimlik Doğrulama

MFRC522 (RC522), temassız RFID kart ve etiketleri okuyan popüler bir sensördür.
RFID Nedir ve Nasıl Çalışır?
RFID (Radio Frequency Identification – Radyo Frekanslı Tanımlama), radyo dalgalarını kullanarak temassız bir şekilde nesneleri otomatik olarak tanımlamaya yarayan bir teknolojidir. Ana bileşenleri şunlardır:
- Okuyucu (Reader): MFRC522 çipi. Radyo frekansı (RF) alanı oluşturur ve etiketten gelen sinyali çözer.
- Etiket/Kart (Tag/Transponder): İçinde bir çip ve bir anten bulunan küçük bir cihaz.
MFRC522, genellikle 13.56 MHz frekansında çalışır ve özellikle ISO 14443A standardını (Mifare S50/S70) destekleyen kart ve etiketlerle uyumludur.
MFRC522 ‘nin Çalışma Prensibi: Enerji ve Veri
MFRC522’nin temassız çalışması, endüktif kuplaj ilkesine dayanır:
- RF Alanı Oluşturma: Okuyucu (MFRC522), çevresinde güçlü bir 13.56 MHz radyo frekans alanı yayar.
- Temassız Güç: Etiket (kart) bu alana yaklaştığında, etiketin antenindeki bobinler bu elektromanyetik alandan enerji çeker. Bu enerji, etiketin içindeki çipi çalıştırmak için yeterlidir. Etiket bu nedenle Pasif (Pilsiz) olarak adlandırılır.
- Veri Gönderimi: Enerjilenen etiket, kendi içinde kayıtlı olan UID (Unique Identifier – Benzersiz Tanımlayıcı) kodunu radyo dalgalarıyla okuyucuya geri gönderir.
- Kod Çözme: MFRC522 çipi gelen sinyali çözer, doğrulama yapar ve temiz UID kodunu Arduino’ya iletir.

MFRC522 – ESP32 ile Bağlantı: SPI Protokolü
MFRC522 modülü, mikrodenetleyicilerle iletişim kurmak için yüksek hızlı SPI (Serial Peripheral Interface) protokolünü kullanır. Bu protokol, hızlı ve güvenilir veri aktarımı sağlar.
| MFRC522 Pini | Arduino UNO Pini | SPI Fonksiyonu |
| VCC | 3.3V | Güç Girişi (MFRC522 3.3V ile çalışır) |
| GND | GND | Toprak |
| SCK | GPIO 18 | Saat Sinyali (Clock) |
| MOSI | GPIO 23 | Veri Gönderimi |
| MISO | GPIO 19 | Veri Alımı |
| SDA (SS) | GPIO 5 | Çip Seçimi (Chip Select) |
| RST | GPIO 27 | Resetleme Pini |
Önemli Not: MFRC522 çipi 3.3V lojik seviyesinde çalışır. Modülü 5V ile beslemek, karta zarar verebilir. Bu yüzden VCC bağlantısı Arduino’nun 3.3V pinine yapılmalıdır.
Yazılım ve Kullanım: MFRC522 UID Okuma
MFRC522’yi Arduino ile kullanmak için en yaygın kütüphane MFRC522.h kütüphanesidir.
- Okuma İşlemi: Kütüphane, MFRC522’yi başlatır ve sürekli olarak bir RFID kartın görüş alanına girip girmediğini kontrol eder.
- UID Çıkarma: Kart okuyucuya yaklaştığında, MFRC522 çipi kartın benzersiz 4 veya 7 baytlık UID‘sini okur.
- Doğrulama: Bu okunan UID, bir veritabanındaki veya kodda tanımlı bir listedeki yetkili UID’ler ile karşılaştırılır. Eğer eşleşirse, erişim izni (örn: kapıyı açma) verilir.
MFRC522 Kullanım Alanları ve Limitleri
Kullanım Alanları:
- Erişim Kontrol Sistemleri: Kapı kilitleri, asansör erişimi.
- Zaman Takip Sistemleri: Çalışan giriş/çıkış takibi (PDKS).
- Envanter Yönetimi: Depo veya raf takibi.
- Robotik: Robotun belirli bir alana girdiğini veya belirli bir görevi tamamladığını doğrulama.
Limitleri:
- MFRC522’nin okuma menzili kısadır (genellikle 1-5 cm).
- Okuma hızı, barkod okuyucular kadar hızlı değildir.
- Metal yüzeylere yakınlık, okuma performansını düşürür.

ESP32 (Arduino IDE) Örnek Kodu
Gerekli Kütüphane: “MFRC522 by GithubCommunity”
//muratdonmez.com.tr
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 27
#define SS_PIN 5
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("RFID Okuyucu Başlatıldı. Lütfen bir kart okutun...");
}
void loop() {
// Yeni bir kart var mı?
if ( ! mfrc522.PICC_IsNewCardPresent()) {
delay(50);
return;
}
// Kartı oku
if ( ! mfrc522.PICC_ReadCardSerial()) {
delay(50);
return;
}
// ---- Kart Okundu ----
Serial.print("Kart UID (HEX): ");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
mfrc522.PICC_HaltA(); // Kartı durdur (tekrar okumamak için)
delay(1000);
}
Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.
İlgili Yazılar
- DS18B20 (Dijital Sıcaklık Sensörü)
- DHT11 / DHT22: Doğru Sıcaklık ve Nem Sensörünü Seçme Rehberi
- BME280: 3’ü 1 Arada Yüksek Hassasiyetli Ortam Sensörü
- BME680: Evinizdeki Havayı Kapsamlı Analiz Edin
- BMP388 ve BMP180: İrtifa ve Basınç Sensör Rehberi
- BH1750 Dijital Işık Sensörü: Lüx (Lux) Ölçer Rehberi
- TDS Sensörü: Su Kalitesi ve PPM Ölçer Rehberi
- Anemometre: Rüzgar Hızı Sensörü Nedir, Nasıl Çalışır?
Sık Sorulan Sorular
- MFRC522 (RC522) ne işe yarar?
MFRC522, temassız RFID kart ve etiketlerle (özellikle Mifare) iletişim kurarak onların benzersiz kimlik kodunu (UID) okur. Erişim kontrolü, kimlik doğrulama ve takip sistemlerinde kullanılır. - RFID kartlar nasıl enerji alır? Pil gerektirir mi?
Kartlar ve etiketler genellikle pasif‘tir ve pil gerektirmez. RFID MFRC522 okuyucunun yaydığı radyo frekans alanına girdiklerinde, bu alandan enerji çekerek çalışırlar. - MFRC522 hangi protokolü kullanır ve kaç pin gereklidir?
MFRC522, mikrodenetleyici ile iletişim için SPI (Serial Peripheral Interface) protokolünü kullanır. Güç, toprak ve SPI pinleri dahil olmak üzere en az 5-6 pin (VCC, GND, RST, SCK, MOSI, MISO) gereklidir. - MFRC522’nin UID okuma menzili nedir?
Menzil, antenin gücüne bağlı olarak genellikle 1 cm ile 5 cm arasında çok kısadır. Bu, temassız okuma gerektiren (kartı cihaza yaklaştırma) uygulamalar için idealdir. - MFRC522’yi Arduino’nun 5V pinine bağlamak güvenli midir?
Hayır. MFRC522 çipi ve lojik pinleri 3.3V ile çalışır. Modülün VCC pini Arduino’nun 3.3V pinine bağlanmalıdır. 5V lojik sinyaller, çipe zarar verebilir.




Henüz yorum yapılmamış.