ARDUINO DERS-31 (RFID İLE KAPI AÇMAI)


DEVRE SEMASI



MALZEMELER

  • ARDUİNO UNO
  • 2X16 LCD
  • RFID MODÜLÜ


DEVRE KODU
#include <SPI.h>                          //SPI kütüphanemizi tanımlıyoruz.
#include <MFRC522.h>                      //MFRC522 kütüphanemizi tanımlıyoruz.
#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

int RST_PIN = 9;                          //RC522 modülü reset pinini tanımlıyoruz.
int SS_PIN = 10;                          //RC522 modülü chip select pinini tanımlıyoruz.

MFRC522 rfid(SS_PIN, RST_PIN);            //RC522 modülü ayarlarını yapıyoruz.

byte ID[4] = {226,230,220,27};          //Yetkili kart ID'sini tanımlıyoruz.
byte IDb[4] = {190,36,173,202};          //Yetkili kart ID'sini tanımlıyoruz.

void setup() {

  Serial.begin(9600);                     //Seri haberleşmeyi başlatıyoruz.
  SPI.begin();                            //SPI iletişimini başlatıyoruz.
  lcd.begin(16, 2);
  rfid.PCD_Init();                        //RC522 modülünü başlatıyoruz.

}

void loop() {

  lcd.home();
  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] == IDb[0] &&     //Okunan kart ID'si ile ID değişkenini karşılaştırıyoruz.
    rfid.uid.uidByte[1] == IDb[1] &&
      rfid.uid.uidByte[2] == IDb[2] &&
        rfid.uid.uidByte[3] == IDb[3] or
  rfid.uid.uidByte[0] == ID[0] &&     //Okunan kart ID'si ile ID değişkenini karşılaştırıyoruz.
    rfid.uid.uidByte[1] == ID[1] &&
       rfid.uid.uidByte[2] == ID[2] &&
         rfid.uid.uidByte[3] == ID[3]

 ) {
       lcd.clear();

        Serial.println("Kapi acildi");
  lcd.print("Kapi acildi");
        ekranaYazdir();
        delay(3000);
 //lcd.clear();
  //delay(10000);
    }
    else{  //Yetkisiz girişte içerideki komutlar çalıştırılır.
       lcd.clear();
 // delay(10000);

      Serial.println("Yetkisiz Kart");
  lcd.print("Yetkisiz Kart");
     ekranaYazdir();
   }

  rfid.PICC_HaltA();

}

void ekranaYazdir(){
  lcd.setCursor(0,1);
  Serial.print("ID Numarasi: ");
 // lcd.print("ID Numarasi:");

  for(int sayac = 0; sayac < 4; sayac++){

    Serial.print(rfid.uid.uidByte[sayac]);
  lcd.print(rfid.uid.uidByte[sayac]);

    Serial.print(" ");
  lcd.print(" ");

  }

  Serial.println("");
  lcd.print(" ");

}

Yorumlar

Bu blogdaki popüler yayınlar

ARDUINO DERS-22 (PİYANO YAPIMI)

ARDUINO DERS-28 (5110 LCD İLE YILAN OYUNU)

ARDUINO DERS-10 (HC-SR04 ultrasonik mesafe sensörü )