Arduino ve RFID ile Kart Okuyucu Güvenlik Sistemi Geliştirme

Arduino ve RFID ile Kart Okuyucu Güvenlik Sistemi Geliştirme

Arduino ve RFID ile Kart Okuyucu Güvenlik Sistemi Geliştirme

Merhaba sevgili Arduino severler!

Bu yazımızda, Arduino kullanarak basit ama etkili bir RFID (Radyo Frekansıyla Tanımlama) kart okuyucu güvenlik sistemi geliştireceğiz. Bu proje hem Arduino'ya yeni başlayanlar için harika bir başlangıç noktası olacak, hem de daha deneyimli kullanıcılar için temel bir güvenlik sistemi prototipi oluşturma imkanı sunacak. Projemizde, yetkilendirilmiş kart okunduğunda bir LED'i yakacağız ve yetkisiz bir kart okunduğunda ise bir buzzer ile uyarı vereceğiz. Hazırsanız, haydi başlayalım!

Gerekli Malzemeler

İşe başlamadan önce ihtiyacımız olan malzemeleri gözden geçirelim:

  • Arduino Uno (veya benzeri bir Arduino geliştirme kartı)
  • RFID Okuyucu Modülü (RC522 yaygın olarak kullanılır)
  • RFID Kart veya Etiket
  • LED
  • Buzzer
  • 220 Ohm Direnç (LED için)
  • Jumper Kablolar
  • Breadboard (isteğe bağlı)

Bağlantılar

Şimdi de komponentlerimizi Arduino'ya nasıl bağlayacağımıza bakalım. Bu adımları dikkatlice takip edin:

  1. RFID Okuyucu Modülü Bağlantıları:
    • RST pin -> Arduino Dijital Pin 9
    • SDA pin -> Arduino Dijital Pin 10
    • MOSI pin -> Arduino Dijital Pin 11
    • MISO pin -> Arduino Dijital Pin 12
    • SCK pin -> Arduino Dijital Pin 13
    • VCC pin -> Arduino 3.3V
    • GND pin -> Arduino GND
  2. LED Bağlantısı:
    • LED'in uzun bacağı (anot) -> 220 Ohm direnç -> Arduino Dijital Pin 8
    • LED'in kısa bacağı (katot) -> Arduino GND
  3. Buzzer Bağlantısı:
    • Buzzer'ın pozitif (+) bacağı -> Arduino Dijital Pin 7
    • Buzzer'ın negatif (-) bacağı -> Arduino GND

Arduino Kodu

Bağlantıları tamamladıktan sonra, Arduino'muza yükleyeceğimiz kodu inceleyelim:


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

#define RST_PIN   9     // RFID modülünün RST pini
#define SDA_PIN   10    // RFID modülünün SDA pini
#define LED_PIN    8     // LED'in bağlı olduğu pin
#define BUZZER_PIN 7    // Buzzer'ın bağlı olduğu pin

MFRC522 mfrc522(SDA_PIN, RST_PIN); // MFRC522 sınıfının oluşturulması

// Yetkili kartın UID'si (Kartınızı okutup bu değeri öğrenmelisiniz)
byte validCard[4] = {0xDE, 0xAD, 0xBE, 0xEF}; // Örnek UID, kendi kartınızın UID'si ile değiştirin

void setup() {
  Serial.begin(9600);   // Seri iletişimi başlat
  SPI.begin();      // SPI iletişimi başlat
  mfrc522.PCD_Init();   // MFRC522 başlat
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  Serial.println("Kart Okuyucu Hazir!");
}

void loop() {
  // Yeni kart algılandı mı kontrol et
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }

  // Kart okundu mu kontrol et
  if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
  }

  Serial.print("Kart UID: ");
  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();

  // Kart UID'sini yetkili kart ile karşılaştır
  if (compareUID(mfrc522.uid.uidByte, validCard)) {
    Serial.println("Yetkili Kart!");
    digitalWrite(LED_PIN, HIGH); // LED'i yak
    noTone(BUZZER_PIN);          // Buzzer'ı sustur
    delay(2000);
    digitalWrite(LED_PIN, LOW);  // LED'i söndür
  } else {
    Serial.println("Yetkisiz Kart!");
    tone(BUZZER_PIN, 1000);      // Buzzer'ı çal
    delay(1000);
    noTone(BUZZER_PIN);          // Buzzer'ı sustur
  }

  // Kart okuma işlemini durdur
  mfrc522.PICC_HaltA();
  mfrc522.PCD_StopCrypto1();
}

// Kart UID'lerini karşılaştırma fonksiyonu
bool compareUID(byte cardUID[], byte validUID[]) {
  for (byte i = 0; i < 4; i++) {
    if (cardUID[i] != validUID[i]) {
      return false;
    }
  }
  return true;
}

Açıklamalar:

  • Yukarıdaki kodu Arduino IDE'sine kopyalayın.
  • validCard dizisindeki örnek UID değerini, kullanmak istediğiniz yetkili kartın UID'si ile değiştirin. Kartınızın UID'sini öğrenmek için, yukarıdaki kodu UID karşılaştırma kısmını yorum satırı yaparak çalıştırıp seri port ekranından okuyabilirsiniz.
  • Arduino'nuzu bilgisayarınıza bağlayın ve doğru portu seçtiğinizden emin olun.
  • Kodu Arduino'nuza yükleyin.

Çalışma Mantığı

Kodumuz temel olarak şu adımları izler:

  1. RFID okuyucu başlatılır ve kart aranır.
  2. Eğer bir kart algılanırsa, kartın UID'si okunur.
  3. Okunan UID, önceden tanımlanmış yetkili kart UID'si ile karşılaştırılır.
  4. Eğer UID'ler eşleşirse, LED yakılır (yetkili kart).
  5. Eğer UID'ler eşleşmezse, buzzer çaldırılır (yetkisiz kart).

Sonuç

Tebrikler! Artık basit bir RFID kart okuyucu güvenlik sistemine sahipsiniz. Bu projeyi daha da geliştirmek için farklı özellikler ekleyebilirsiniz. Örneğin, yetkisiz kart okunduğunda bir log dosyası oluşturabilir, bir servo motor kullanarak kapı kilidi kontrolü yapabilir veya bir LCD ekran ile mesajlar gösterebilirsiniz.

Umarım bu rehber, Arduino ve RFID teknolojileriyle tanışmanız için faydalı olmuştur. Herhangi bir sorunuz olursa, yorumlar kısmından bana ulaşabilirsiniz. Bir sonraki projede görüşmek üzere!

Etiketler: Arduino, RFID, RC522, Güvenlik Sistemi, Kart Okuyucu, Proje, Elektronik, Kodlama

```

0 yorum: