Erişim kontrol sistemleri, elektronik ve güvenlik projelerine giriş için en popüler konulardan biridir. Bu yazıda, RFID Kartlı Akıllı Kilit Sistemi Kiti ile kendi erişim kontrol sistemini nasıl kurabileceğini anlatıyoruz.
Sistem Nasıl Çalışır?
RC522 RFID okuyucu, 13,56 MHz frekansında çalışan kartları/anahtarlıkları okur ve okunan kartın kimliğini (UID) Arduino'ya iletir. Arduino, bu kimliği önceden tanımladığın yetkili kart listesiyle karşılaştırır. Eşleşme varsa, SG90 servo motor tetiklenir ve kilit mekanizmasını (kol veya sürgü) hareket ettirerek kilidi açar.
Bağlantı Şeması
RC522: SDA(SS)→D10, SCK→D13, MOSI→D11, MISO→D12, RST→D9; besleme 3.3V (5V'a bağlamayın). Servo sinyal→D6, kırmızı→5V, kahverengi→GND. IRQ pini boş kalır.

Kurulum Adımları
- RC522 RFID modülünü Arduino'nun SPI pinlerine bağla
- SG90 servo motoru Arduino'nun bir dijital pinine bağla
- MFRC522 kütüphanesini Arduino IDE'ye yükle
- Yetkili kartının UID'sini oku ve kodda tanımla
- Kartı okuttuğunda servo motorun tetiklendiğini test et
Neden Breadboard Gerekmiyor?
RC522 ve servo motorun her ikisi de doğrudan jumper kablolarla Arduino'ya bağlanabiliyor — aralarında karmaşık bir dağılım olmadığı için ayrıca breadboard almana gerek yok.
Arduino Kodu
Kodu yüklemeden önce Arduino IDE'de Kütüphane Yöneticisi'nden "MFRC522" kütüphanesini kur (Servo kütüphanesi Arduino IDE ile birlikte gelir). Kartını bir kez okut; Seri Monitör'de (9600 baud) görünen {0x.., 0x.., 0x.., 0x..} satırını kopyalayıp koddaki yetkiliUID satırına yapıştır.
// RFID Kartlı Akıllı Kilit Sistemi - RC522 + Servo
// Atölye Elektronik
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
Servo kilitServo;
// Yetkili kart UID'sini buraya yaz (kartını okutup Seri Monitör'den kopyala)
byte yetkiliUID[4] = {0xDE, 0xAD, 0xBE, 0xEF};
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
kilitServo.attach(6);
kilitServo.write(0); // kilitli pozisyon
Serial.println("Kartinizi okutun...");
}
void loop() {
if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) {
return;
}
// UID'yi koda yapıştırılabilir biçimde yaz: {0x0A, 0x1B, ...}
Serial.print("Kart UID: {");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print("0x");
if (mfrc522.uid.uidByte[i] < 0x10) Serial.print("0");
Serial.print(mfrc522.uid.uidByte[i], HEX);
if (i < mfrc522.uid.size - 1) Serial.print(", ");
}
Serial.println("}");
if (kartEslesiyorMu()) {
Serial.println("Yetkili kart! Kilit aciliyor...");
kilitServo.write(90); // acik pozisyon
delay(3000);
kilitServo.write(0); // tekrar kilitle
} else {
Serial.println("Yetkisiz kart!");
}
mfrc522.PICC_HaltA();
}
bool kartEslesiyorMu() {
if (mfrc522.uid.size != 4) return false;
for (byte i = 0; i < 4; i++) {
if (mfrc522.uid.uidByte[i] != yetkiliUID[i]) return false;
}
return true;
}
Sorun Giderme
- Kart okutunca Seri Monitör'de hiçbir şey çıkmıyor: RC522'nin 3.3V'a bağlı olduğunu ve SDA→D10, RST→D9 kablolarını kontrol edin; kartı okuyucuya 1-2 cm yaklaştırın.
-
"Yetkisiz kart" diyor: Seri Monitör'de görünen
{0x.., ...}değeriniyetkiliUIDsatırına birebir yazıp tekrar yükleyin. - Servo titriyor veya Arduino yeniden başlıyor: USB yetersiz kalabilir; Arduino'yu harici adaptörle besleyin.
Kitin içinde RC522, Arduino Uno, servo motor ve iki farklı tipte jumper kablo dahil. Detaylar ve satın alma için RFID Kilit Sistemi Kiti sayfasını ziyaret edebilirsin.