
Bu yazıda, bir RFID kart okuyucu olan MFRC522 ile basit bir erişim kontrol sistemi nasıl oluşturulur, onu inceleyeceğiz. Projemiz, belirli bir RFID kartın UID’si (benzersiz kimliği) okunduğunda LED’lerle erişimin kabul edilip edilmediğini gösterecek şekilde çalışır.
Gerekli Malzemeler:
- Arduino Uno
- MFRC522 RFID Modül RFID Kart veya Anahtarlık
- 2 Adet LED (kırmızı ve yeşil)
- 2 Adet 220Ω direnç
- Breadboard
- Jumper kablolar
SPI (Serial Peripheral Interface) Nedir?
SPI (Serial Peripheral Interface), mikrodenetleyiciler ile çevresel cihazlar (sensörler, hafıza yongaları, ekranlar vs.) arasında yüksek hızlı, senkron veri iletişimi sağlamak için kullanılan bir haberleşme protokolüdür. Motorola tarafından geliştirilmiş olup, genellikle kısa mesafeli ve yüksek hızlı iletişim gereken uygulamalarda tercih edilir.
SPI Nasıl Çalışır?
- SPI, master-slave mimarisiyle çalışır. Bir master cihaz (genellikle mikrodenetleyici), bir veya daha fazla slave cihazla haberleşebilir. Bu protokolde dört temel sinyal hattı bulunur:
- MOSI (Master Out Slave In): Master cihazdan slave cihaza veri gönderilir.
- MISO (Master In Slave Out): Slave cihazdan master cihaza veri gönderilir.
- SCLK (Serial Clock): Master tarafından oluşturulan saat sinyalidir. Veri senkronizasyonu bu saat sinyaliyle sağlanır.
- SS (Slave Select) veya CS (Chip Select): Hangi slave cihazla iletişim kurulacağını belirler. Bu pin LOW seviyesine çekildiğinde ilgili slave aktif hale gelir.
SPI Nerelerde Kullanılır?
- Flash bellek modülleri (örneğin: NOR Flash, EEPROM)
- Ekran modülleri (OLED, TFT LCD)
- Sensörler (IMU, sıcaklık sensörleri)
- SD kartlar
- ADC / DAC entegreleri
Sensör Kütüphanesi
Bu linkten kütüphaneyi indiriniz ve “libraries” klasörüne “MFRC522” olarak kayıt ediniz.
Devre Şeması

RC522 modülünün bağlantıları:
- SDA → Pin 10
- SCK → Pin 13
- MOSI → Pin 11
- MISO → Pin 12
- RST → Pin 9
- Kırmızı LED → Pin 8
- Yeşil LED → Pin 7
Devrenin Kodu:
#include <SPI.h>
#include <MFRC522.h>
// LED pin tanımları
#define LED_RED 8
#define LED_GREEN 7
// RFID modülünün bağlantı pinleri
#define RC522_CS 10
#define RC522_RST 9
// MFRC522 nesnesi oluşturuluyor
MFRC522 rfid(RC522_CS, RC522_RST);
// Yetkili kartın UID'si (kart okunduğunda seri monitörde görünür)
byte ADMIN_ID[4] = {10, 215, 189, 21};
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
pinMode(LED_RED, OUTPUT); // Kırmızı LED çıkış olarak ayarlanıyor
pinMode(LED_GREEN, OUTPUT); // Yeşil LED çıkış olarak ayarlanıyor
SPI.begin(); // SPI haberleşmesi başlatılıyor
rfid.PCD_Init(); // RFID modülü başlatılıyor
}
void loop() {
// Yeni bir kart algılanmadıysa çık
if (!rfid.PICC_IsNewCardPresent()) {
return;
}
// Kart okunamıyorsa bekle
if (!rfid.PICC_ReadCardSerial()) {
Serial.println("Bekleniyor...");
return;
}
// Kart UID'si ADMIN_ID ile eşleşiyorsa erişime izin ver
if (rfid.uid.uidByte[0] == ADMIN_ID[0] &&
rfid.uid.uidByte[1] == ADMIN_ID[1] &&
rfid.uid.uidByte[2] == ADMIN_ID[2] &&
rfid.uid.uidByte[3] == ADMIN_ID[3]) {
digitalWrite(LED_GREEN, HIGH); // Yeşil LED yanar
digitalWrite(LED_RED, LOW);
} else {
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_RED, HIGH); // Kırmızı LED yanar
}
// Kart UID'si seri monitöre yazdırılıyor
Serial.print("UID: ");
for (int i = 0; i < 4; i++) {
Serial.print(rfid.uid.uidByte[i]);
Serial.print(" ");
}
Serial.println("");
rfid.PICC_HaltA(); // Kart okuması durduruluyor
delay(100); // Kısa bir gecikme
}
Bu yazıda, Arduino ve MFRC522 RFID okuyucu kullanarak basit bir erişim kontrol sistemi oluşturduk. Sistemin temel mantığı, RFID karttan gelen UID’yi kontrol ederek belirli kartlara erişim izni vermek üzerine kurulu. Bu proje; ofis girişleri, sınıf kontrolleri veya basit güvenlik sistemleri gibi birçok yerde kullanılabilecek temel bir altyapı sunar.
Projeyi daha da geliştirerek:
- Birden fazla yetkili kart tanımlayabilir,
- LCD ekran ile kullanıcıya mesaj gösterebilir,
- EEPROM ile kartları hafızaya kaydedebilir,
- Servo motor kullanarak kapı açma işlemini fiziksel olarak gerçekleştirebilirsiniz.
Bu basit başlangıç, daha gelişmiş güvenlik sistemleri için sağlam bir temel sağlayacaktır. Deneyin, öğrenin ve projelerinizi özelleştirerek daha ileriye taşıyın!



