Print this page
RFID Kart Kullanımı, arduino kodları (Arduino Dersleri, 16)

RFID Kart Kullanımı, arduino kodları (Arduino Dersleri, 16) Featured

Rate this item
(0 votes)

Bu dersimizde RFID kart kullanımıyla ilgili temel bir uygulama yapacağız. RFID kartla yapacağımız uygulamada ledleri kullanalım.

Kartımızı okuttuğumuzda 3 saniye yeşil led yansın, anahtarlığımızı okuttuğumuzda 3 saniye kırmızı led yansın. Bize ait kartımız ve anahtarlığımız dışında bir kart veya başka bir anahtarlık okutulduğunda ise iki ışık birlikte 3 saniye yansın.

 

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet breadboard
1 adet RFID kart seti (RC522)
2 adet led ( kırmızı,yeşil)
2 adet direnç (220-330ohm)
10 adet jumper kablo  (EE)

MFRC522 kütüphanesini buraya tıklayarak indirebilirsiniz

Arduino'ya Kütüphane Yükleme İşlemi Nasıl yapılır?

1- Taslak /  librar ekle / librarylieri düzenle menüsü seçilir ve arama kısmından ilgili kütüphane aranarak, bulunur ve yükleme işlemi yapılır.
2- .zip formatında indirdiğiniz kütüphaneleri eklemek için
Taslak/ library ekle/.zip kitaplığı ekle seçilir ve bilgisayarımıza indirdiğimiz zip uzantılı kütüphane dosyası seçilir.
3-zip/rar (sıkıştırılmış dosya) olarak herhangi bir yerden bilgisayarımıza indirdiğimiz kütüphaneyi önce zip/rar dan çıkarınız. Daha sonra klasörü arduinonun kurulu olduğu klasörde yer alan libraries klasörü içine kopyalarız. Genellikle belgelerim / arduino /libraries şeklindedir.

 


RFID Kart nedir?

RFID genel anlamıyla nesnelerin radyo dalgaları kullanılarak tanınması için kullanılan teknolojidir. Günlük hayatımızda toplu taşıma biletlerinde, işyeri ve okul girişlerindeki turnikelerde karşımıza sıklıkla çıkmaktadır. Kullandığımız kartların kendilerine ait UID isimli bir numarası vardır. Bu numara, her kart için farklıdır. Okuyucumuza kartımızı veya anahtarlığımızı yaklaştırdığımızda bu numara okunarak işlem yapılır. (Robotistan)

 

RFID Kart Kullanımı Devresi

Devremizi oluştururken RFID kartın 3.3 Voltla çalıştığını unutmayalım.

RFID Kart Arduino Kodları

Öncelikle RFID kart kullanırken kütüphaneyi kodumuza dahil etmemiz gerekmektedir. Kütüphane eklemek için Taslak / Library Ekle /Library Düzenle kısmına geldikten sonra arama kısmına RFID 522 yazdığımızda kullanacağımız kütüphaneyi yükle diyoruz. Biz bu uygulama için MFRC522 isimli kütüphaneyi kullanacağız. Dilerseniz kütüphaneyi burayı tıklayarak indirebilirsiniz. indirdikten sonra zip olarak yükleme yapabileceğiniz gibi arduinonun yüklü olduğu klasör içinde bulunan libraries klasörüne indirdiğiniz dosyayı rardan çıkarıp atabiirsiniz. Taslak / Library Ekle menüsünden MFRC522 yi tıkladığımızda kütüphanemiz kodların üstüne eklenmiş olacak. #include <MFRC522.h> 

SDA ve RST pinlerinin tanımlamasını yapıyoruz. 9 ve 10 numaralı pinlere takmıştık, bağlantıyı kontrol ederseniz.
ÖNEMLİ NOT: Kendi kartınızı tanımlamak için, devreyi oluşturup, seri port ekranını açınız. Kartınızı okuttuktan sonra ekranda yazan numarayı, program içinde yer alan "kart"  isimli değişkene, anahtarlığınızı okuttuğunuzda ekranda yazan numarayı "anahtarlik" isimli değişkenin karşısına yazınız.

 

#include <SPI.h>                          //SPI kütüphanemizi tanımlıyoruz.
#include <MFRC522.h>                      //MFRC522 kütüphanemizi tanımlıyoruz.
#define kled 4                        // Kırmızı ve yeşil ledlerimizi tanımladık
#define yled 3
MFRC522 rfid(10,9);            //Reset ve Chip Select pinlerini tanımladık.
//Alt kısımda yer alan sayılar kartın kimlik numaralarıdır.
//Programı çalıştırıp seri ekrandan kendi kart ve anahtarlığınızın numarasını alt kısıma yazıyoruz
byte anahtarlik[4] = {210, 103, 240, 115};          //Yetkili kart Kimlik tanımlıyoruz.
byte kart[4] = {102, 144, 47, 31};          //Yetkili anahtarlık tanımlıyoruz.


void setup() 
{
  Serial.begin(9600);                     //Seri haberleşmeyi başlatıyoruz.
  SPI.begin();                            //SPI iletişimini başlatıyoruz.
  rfid.PCD_Init();                        //RC522 modülünü başlatıyoruz.
  pinMode(kled,OUTPUT);
 pinMode(yled,OUTPUT);    //ledlerimizi çıkış olarak tanımladık
}
 

void loop() 
{
        digitalWrite(yled,0);
        digitalWrite(kled,0);
  if ( ! rfid.PICC_IsNewCardPresent())    //Yeni kartın okunmasını bekliyoruz.
    return;
  if ( ! rfid.PICC_ReadCardSerial())      //Kart okunmadığı zaman bekliyoruz.
    return;

  if (rfid.uid.uidByte[0] == kart[0] &&     //Okunan numara ile Kart değişkenini karşılaştırıyoruz.

    rfid.uid.uidByte[1] == kart[1] &&
    rfid.uid.uidByte[2] == kart[2] &&
    rfid.uid.uidByte[3] == kart[3] ) {
        Serial.println("Dogru Kart");
        ekranaYazdir();
        digitalWrite(yled,1);
        digitalWrite(kled,0);
        delay(3000);
    }

   else if (rfid.uid.uidByte[0] == anahtarlik[0] &&     //Okunan numara ile anahtarlık değişkenini karşılaştırıyoruz.
    rfid.uid.uidByte[1] == anahtarlik[1] &&
    rfid.uid.uidByte[2] == anahtarlik[2] &&
    rfid.uid.uidByte[3] == anahtarlik[3] ) {
        Serial.println("Dogru Anahtarlik");
        ekranaYazdir();
       digitalWrite(yled,0);
        digitalWrite(kled,1);
        delay(3000);
    }
    else{                                 //Yetkisiz girişte içerideki komutlar çalıştırılır.
      Serial.println("Yetkisiz Kart");
      ekranaYazdir();
        digitalWrite(kled,1);
        digitalWrite(yled,1);
        delay(3000);
    }
  rfid.PICC_HaltA();
}

void ekranaYazdir(){
  Serial.print("Kimlik Numarasi: ");
  for(int sayac = 0; sayac < 4; sayac++){
    Serial.print(rfid.uid.uidByte[sayac]);
   Serial.print(" ");
  }
  Serial.println("");
}

 

 

 

 

Share:

Latest from RAM