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:
- 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
- LED Bağlantısı:
- LED'in uzun bacağı (anot) -> 220 Ohm direnç -> Arduino Dijital Pin 8
- LED'in kısa bacağı (katot) -> Arduino GND
- 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:
- RFID okuyucu başlatılır ve kart aranır.
- Eğer bir kart algılanırsa, kartın UID'si okunur.
- Okunan UID, önceden tanımlanmış yetkili kart UID'si ile karşılaştırılır.
- Eğer UID'ler eşleşirse, LED yakılır (yetkili kart).
- 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: