Projelerimiz

Rfid ve LCD İle Kartlı Giriş Sistemi

Rfid ve LCD uygulamaları birlikte kullanılarak birçok proje yapılıyor bu projelerin bir çoğu gerçek hatta kullandığımız kartlı giriş sistemleridir.Okulda , iş yerinde veya otobüslerde mutlaka görmüşsünüz.Projemizde bu uygulamalar aslında nasıl gerçekleştiriliyor bundan bahsedeceğiz.

Rfid son yıllarda çok kullanılan haberleşme teknolojilerinden bir tanesidir.Bu teknolojiyi iyi öğrenirseniz ülkemizde birçok sektörde kolaylıkla iş bulabilirsiniz.Özellikle kartlı geçiş sistemleri yapan firmalar ve halk otobüslerinin kartlı sistemlerini tasarlayan firmalarda.

Malzemeler

  • Arduino UNO (Biz videoda Mega kullandık bir farkı yok)
  • Rfid Modülü
  • Servo motor
  • I2C LCD Modül
  • Buzzer

Aşağıdaki şemaya göre devrenizi kurun.Ardından arduino için gerekli kodu yükleyin.

#include <SPI.h>
#include <RFID.h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
 
RFID rfid(10,5);
 
byte emaomos[5] = {19,168,166,2,31}; 
 
LiquidCrystal_I2C lcd(0x27,20,4);
 
byte serNum[5];
byte data[5];
int LED_access = 3;
int LED_intruder = 4;
int speaker_pin = 8;
int servoPin = 6;
 
Servo doorLock;
 
 
void setup(){
  doorLock.attach(servoPin); 
  Serial.begin(9600); 
  lcd.init(); 
  lcd.backlight();
  lcd.clear();
  SPI.begin(); 
  rfid.init(); 
 doorLock.write(0);
  delay(1000);
  pinMode(LED_access,OUTPUT);
  pinMode(LED_intruder,OUTPUT);
  pinMode(speaker_pin,OUTPUT);
  pinMode(servoPin,OUTPUT);
}
  
void loop(){
  lcd.clear();
  lcd.noBacklight();
  boolean emaomos_card = true; 
   
  if (rfid.isCard()){ 
    if (rfid.readCardSerial()){ 
      delay(1000);
      data[0] = rfid.serNum[0]; 
      data[1] = rfid.serNum[1];
      data[2] = rfid.serNum[2];
      data[3] = rfid.serNum[3];
      data[4] = rfid.serNum[4];
    }
   
  //rfid.halt(); 
  lcd.backlight();
  
 
  
   
  for(int i=0; i<5; i++){
    if(data[i] != emaomos[i]) emaomos_card = false;
  }
  if (emaomos_card){ // if a valid card was found
    lcd.setCursor(0,1);
    lcd.print("Merhaba!");
    
  }
 
  else{ // if a card is not recognized
    lcd.setCursor(0,0);
    lcd.print("Kimlik taninmadi");
    lcd.setCursor(0,1);
    lcd.print("Engellendi!");
    //Serial.println("Card not recognized!  contact administration!"); // print a message
    digitalWrite(LED_intruder, HIGH); // turn on the red LED
    
    beep(3000,0,0);
    delay(1000);
    digitalWrite(LED_intruder, LOW); // turn off the red LED
  }
  if (emaomos_card){// add another user using an logical or condition ||
    // Welcome messages and access permission  
    lcd.setCursor(0,0);
    lcd.print("izin Verildi!");
    lcd.setCursor(0,1);
    lcd.print("Girebilirsiniz!");
   
    beep(2000,3000,1000);
    digitalWrite(LED_access,HIGH); // turn on the green LED
    doorLock.write(90); // releases the door
    delay(2000); // wait
    doorLock.write(0); // Locks the door
    digitalWrite(LED_access,LOW); // turn off the green LED
  }
  delay(500);
  rfid.halt();
  lcd.noBacklight();
  }
}
  void beep(unsigned char delayms1,unsigned char delayms2,unsigned char delayms3)
  
{
digitalWrite(speaker_pin, HIGH);
delay(delayms1);
digitalWrite(speaker_pin, LOW);
delay(delayms2);
digitalWrite(speaker_pin, HIGH);
delay(delayms3);
digitalWrite(speaker_pin, LOW);
delay(delayms1);
}

İlgili Mesajlar

Bir cevap yazın

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