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

Merhaba Arkadaşlar

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.

Bu örnek uygulamamızda Arduino Uno kullanarak RFID RC522 NFC kiti ile yetki durumuna göre yeşil ve kırmızı ledleri kontrol edelim.

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)kütüphanesi

Arduino RFID Kütüphanesi MFRC522 Arduino’ya eklemek için aşağıdaki sıralamayı takip edebilirsiniz. MFRC522.zip dosyası olarak inmektedir.

Taslak>library ekle>.ZIP Kitaplığı Ekle>ZIP dosyasını bilgisayarda indirdiğiniz yeri seçme>Open

Malzeme Listesi:

  • Arduino Uno R3
  • RFID RC522-NFC Kiti
  • 1 x Yeşil led
  • 1 x Kırmızı led
  • 2 x 220 Ohm Direnç
  • ARDUİNO KODLARI:
#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();
}
}

Ferhat Çelik

Ferhat Çelik

Elektronik mühendisliği için kitaplarla savaşan ve arası hiç iyi olmayan kişi. Kendi gibi elektronik ile ilgileneler için devre arşiv'i kuran Ferhat ÇELİK..

Daha Fazla Okuma

Post navigation

Bir yorum bırakın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.