Arduino
OKUDUĞUNUZ KONU
Rfid ve LCD İle Kartlı Giriş Sistemi
46

Rfid ve LCD İle Kartlı Giriş Sistemi

Yazar : Sezgin Gül31 Ekim 2015

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.

RFID Proje

 

Gerekli kütüphaneler buradan indirin.

Proje sahibi : Robimek

//Sezgin Gül - Robimek
#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);
}
SİZCE NASIL OLMUŞ?
Beğendim
75%
İlginç
9%
Eh İşte
0%
Anlamadım
5%
Kötü
0%
Berbat
11%
YAZAR HAKKINDA
Sezgin Gül
Atatürk Üniversitesi Makine Mühendisliği bölümünde lisans eğitimi almaktayım.Bölümüme paralel olarak robotik sistemler üzerine projeler geliştirmekteyim. Disiplinli ve düzenli çalışmayı severim.Sürekli yeni şeyler öğrenmeye hevesli, kendi alanımdaki konularda uzman, kendi kendime öğrenebilen, aktif çalışmayı seven, dinamik bir kişiliğim vardır.Ayrıca takım çalışmasına yatkın, değişime açık, yaratıcı, yenilikçi, çalışkan ve kararlı biriyimdir.
46 YORUMLAR
1 2
  • umut
    29 Nisan 2017 at 22:59

    merhaba hocam ben codu yukledıgımde
    avrdude: ser_open(): can’t open device “\\.\COM5”: Erisim engellendi.

    Karta yüklenirken sorun olu?tu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.
    Seri port “COM5” aç?lamad?. (Port busy)

    diye hata alıyorum bunun sebebi ne olabilr yardımcı olurmusunuz

  • Anıl Uçar
    16 Mayıs 2017 at 21:33

    Verdiğiniz kütüphaneleri yükledim ama lcd init hatası alıyorum.
    Bir de kullandığım RFID yi nasıl tanıtırım yardımcı olur musunuz ?

YORUM YAP