ARDUINO ile RC522 RFID Modülü Kullanımı

RFID RC522 modülü ile günlük hayat kullandığımız bir çok ürünün kontrolünü sadece bir 13,56 MHz NFC Kart veya 13,56 MHz NFC anahtarlık ile kontrol edebilirsiniz. 13,56 MHz HF(yüksek frekans), yakın algılama olanağı sağlar. RFID modülleri genel olarak kapı kilitlerinde kullanılsa da kişinin hayal gücüne bağlı olarak farklı uygulamalar ve projeler geliştirilebilir.Bizim örnek uygulamamızda Arduino Uno kullanarak RFID RC522 NFC kiti ile yetki durumuna göre yeşil ve kırmızı ledleri kontrol ettik.

NOT: RFID kitlerinde kullanılan çipler farklılık gösterdiği için  her Arduino kütüphanesi desteklemeyebilir. Aşağıdaki linkten güncel veya eski kütüphanelere ulaşabilirsiniz. Ayrıca kütüphane ismini MFRC522 olarak değiştirmeniz gerekmektedir.

Kütüphane dosyası: RFID(RC522)

Malzeme Listesi:

Aşağıdaki devre şemasındaki gibi devremizi breadboard üzerine kuralım .

Arduino Kodları:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include <SPI.h>#include <MFRC522.h> const byte YESIL_LED = 4;const byte KIRMIZI_LED = 2; MFRC522 rfid(10, 9);                  //RFID Chip Select ve Reset pinlerinin ayarlarını yapıyoruz.byte Kart[4] = {53, 122, 201, 226}; // {53, 122, 201, 226} buraya kendi okuttuğunuz kartın ID numarasını yazmalısınız.boolean Yetki; void setup() {  Serial.begin(9600);  pinMode(KIRMIZI_LED, OUTPUT);  pinMode(YESIL_LED, OUTPUT);  SPI.begin();  rfid.PCD_Init();} void loop() {  Yetki = true;  if ( rfid.PICC_IsNewCardPresent())  {     if ( rfid.PICC_ReadCardSerial())    {      Serial.print(“Okunan Kart ID: “);      Serial.print(rfid.uid.uidByte[0]);      Serial.print(“,”);      Serial.print(rfid.uid.uidByte[1]);      Serial.print(“,”);      Serial.print(rfid.uid.uidByte[2]);      Serial.print(“,”);      Serial.println(rfid.uid.uidByte[3]);      }    for (int i = 0; i < 4; i++)    {      if (rfid.uid.uidByte[i] != Kart[i])      {        Yetki = false;       }    }    if (Yetki == true)    {      Serial.println(“Yetki Onaylandi…”);      digitalWrite(YESIL_LED, HIGH);      delay(1000);      digitalWrite(YESIL_LED, LOW);    }    else    {      Serial.println(“Yetki Onaylanmadi…”);      digitalWrite(KIRMIZI_LED, HIGH);      delay(1000);      digitalWrite(KIRMIZI_LED, LOW);    }    rfid.PICC_HaltA();  }}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir