Arduino ve Rc522 RFID Okuyucu ile Röle Kontrolü

Arduino ve Rc522 RFID Modül Kullanımı ile Röle Kontrolü

Arduino Uno ve Rc522 RFID Okuyucu ile Röle Kartı kullanarak kapı otomatiği devresi yapacağız.

Rc522 RFID Okuyucu Modül Nedir?

RFID, radyo frekansı tanımlama anlamına gelir. RFID, verileri kısa mesafelerde aktarmak için elektromanyetik alanları kullanır. RFID ile kişileri tanımlamak, tanımlı olmayan kişilerin depo vb yerlere girmesini engellemek, giriş – çıkış saatlerini kayıt altında tutmak vb gibi bir çok işlem gerçekleştirilebilir.

 

Bir RFID sistemi şunları kullanır:

  • Tanımlanacak nesneye bağlı etiketler, bu örnekte bir anahtarlık ve bir elektromanyetik kartımız var. Her etiketin kendi kimliği (UID) vardır.

rc522 rfid okuyucu - 13.56mhz rfid kart

  • İki yönlü kablosuz alıcı-verici – okuyucu, etikete bir sinyal gönderir ve yanıtını okur.

rc522 rfid okuyucu modülü

Rc522 RFID Okuyucu Modül Özellikleri

  • Giriş voltajı: 3.3V
  • Frekans: 13,56 MHz
  • Bağlantı şekli SPI

Proje için gereken kütüphaneler ve kullanımı:

  1. Buradan modül için oluşturulan RFID kütüphanesini indirebilirsiniz.
  2. RFID kütüphanesini Arduino IDE’nize kurun
  3. Arduino IDE’nizi yeniden başlatın

 

Rc522 Arduino Pinout – Pin Bağlantısı Şeması:

Modül PiniArduino Uno’ya kablolama
SDADijital 10
SCKDijital 13
MOSIDijital 11
MİSODijital 12
IRQbağımsız
GNDGND
RSTDijital 9
3.3V3.3V

Dikkat: Bu cihazı 3,3V ile çalışır. Bu sebeple daha yüksek voltaj vermemeniz gerekir.

Röle kartının orta bacağını Arduino Uno da 7. Pine, VCC pinini 5V pinine, GND pinini de GND pinine bağlayabilirsiniz.

rc522-arduino-pinout

 

Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino Uno kartımıza yükleyip test edebiliriz. Unutmayın ki elinizdeki kart numaraları kod kısmında yer alanlardan farklı olduğu için önce onları okutup seri port ekranında gördükten sonra değiştirmeniz gerekir.

RC522 Modülü ile RFID Arduino Kodu aşağıdaki gibidir:

// Modül kütüphanesi ekleniyor

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

#define RST_PIN         9           // rst pini seçimi
#define SS_PIN          10          // ss pini seçimi

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

String read_rfid;                   // okunan rfis kart değişkeni

String ok_rfid_1="e199312d";        // 1. Kart numarası ( sizler kendi kart numaralarınızı girmelisiniz )

String ok_rfid_2="fbecb673";        //  2. Kart numarası  ( sizler kendi kart numaralarınızı girmelisiniz )

int lock = 7;                       // Röle pini

/*

* Kurulum yapılıyor

*/

void setup() {

Serial.begin(9600);         // seri iletişim ayarı

SPI.begin();                // SPI iletişim ayarı

mfrc522.PCD_Init();         // MFRC522 kart okuyucu ayarı



//Röle pini ayarı

pinMode(lock, OUTPUT);

}

/*

* İlk kart okuma kısmı bura da okunan kart numarasını 1. Ve 2. Kart olarak eklemeniz gereklidir.

*/

void dump_byte_array(byte *buffer, byte bufferSize) {

read_rfid="";

for (byte i = 0; i < bufferSize; i++) {

read_rfid=read_rfid + String(buffer[i], HEX);

}

}

void open_lock() {

//Kapı otomatiğini Röle yi 500 ms açık tut

digitalWrite(lock,HIGH);

delay(500);

digitalWrite(lock,LOW);

}



void loop() {

// kart oku

if ( ! mfrc522.PICC_IsNewCardPresent())

return;

// kart seçimi

if ( ! mfrc522.PICC_ReadCardSerial())

return;


dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

Serial.println(read_rfid);

if (read_rfid==ok_rfid_1) {

//eğer kart numarası uyarsa röleyi çek

open_lock();

}

}