Source Code Arduinouno Penerapan Absensi RFID Dengan LCD


Kode Program
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "SPI.h"
#include "MFRC522.h"


LiquidCrystal_I2C lcd(0x3F, 16, 2);
const int pinRST = 9;
const int pinSDA = 10;

//lampu
int h = 5;
int k = 6;
int m = 7;

int A = 0000;

MFRC522 rfid(pinSDA, pinRST);

void setup() {
  lcd.begin();
  pinMode(h, OUTPUT);
  pinMode(k, OUTPUT);
  pinMode(m, OUTPUT);

   
  SPI.begin();
  rfid.PCD_Init();
  Serial.begin(9600);

  lcd.setBacklight(HIGH);
  lcd.setCursor(0,0);
  lcd.print("Selamat Datang");
  lcd.setCursor(0,1);
  lcd.print("Sistem Ready");
  delay (2000);
  lcd.clear();
}

void loop() {
  digitalWrite(m,LOW);
  digitalWrite(h,LOW);
  digitalWrite(k,HIGH);
  lcd.setCursor(0,0);
  lcd.print("Absensi");
  lcd.setCursor(0,1);
  lcd.print("Tempel Kartu Anda"); 
   if ( ! rfid.PICC_IsNewCardPresent())
 {
 return;
 }
 if ( ! rfid.PICC_ReadCardSerial())
 {
 return;
 }

// menuliskan code rfid pada serial monitor
 Serial.print("ID :");
 String b = "";

 //daftar anggota
  String c = " d0 77 d7 25";
 String d = " 7b 38 a1 d3";
 String e = " 04 20 80 7A 40 5C 80";

 String text = "";
 String text2 = "";
 byte letter;
 
 
for (byte i = 0; i < rfid.uid.size; i++)
 {
 Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
 Serial.print(rfid.uid.uidByte[i], HEX);
 b.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
 b.concat(String(rfid.uid.uidByte[i], HEX));
 }
Serial.println();
if (b == c)
{
  text = "Selamat Pagi";
  text2= " Mas Satrio Wisnu Darmaji [ID 1]";
  Serial.print(text);
  Serial.print(text2);
 
  digitalWrite(m,LOW);
  digitalWrite(k,LOW);
  digitalWrite(h,HIGH);
  lcd.setBacklight(HIGH);
  lcd.setCursor(0,0);
  lcd.print(text);
  lcd.setCursor(0,1);
  lcd.print(text2);
}
else if (b == d)
{
  text = "Selamat Pagi";
  text2= " Mas Tri Agus [ID 2]";
  Serial.print(text);
  Serial.print(text2);
 
  digitalWrite(m,LOW);
  digitalWrite(k,LOW);
  digitalWrite(h,HIGH);
  lcd.setBacklight(HIGH);
  lcd.setCursor(0,0);
  lcd.print(text);
  lcd.setCursor(0,1);
  lcd.print(text2);
  digitalWrite(doorLock, LOW);
}
else
{
  text = "Maaf ID Card";
  text2= "Tidak Terdaftar";
  Serial.print(text);
  Serial.print(text2);
 
  digitalWrite(m,HIGH);
  digitalWrite(k,LOW);
  digitalWrite(h,LOW);
  lcd.setBacklight(HIGH);
  lcd.setCursor(0,0);
  lcd.print(text);
  lcd.setCursor(0,1);
  lcd.print(text2);
 
}

 // menuliskan enter pada serial monitor
 Serial.println();
 // delay 2500 milidetik pembacaan data
 delay(5000);
 lcd.clear();
 lcd.setBacklight(LOW);
 delay(5000);
  b = "";
  text = "";
  text2 = "";
  }



1). Jalur Rangkaian RFID Ke Arduino
     
RFID
ARDUINO
SDA
10
SCK
13
MOSI
11
SQL
12
RQ
-
GND
GND
RST
9
3,3 V
3,3 V

2). Jalur Rangkaian LCD Ke Arduino
       
LCD
ARDUINO
GND
GND
VCC
5,0 V
SDA
A4
SCL
A5

3). Jalur Rangkaian Lampu Ke Arduino

     
LAMPU
ARDUINO
MERAH
7
KUNING
6
HIJAU
5




4). Hasil Rangkaian

  • Rangkaian pertama sebelum dihubungkan ke program arduino
                 

  • Tampilan setelah sistem siap untuk dijalankan
               

  • Tampilan setelah menempalkan kartu pada RFID
              


Kesimpulan:
  1.   Penerapan RFID untuk menampilkan text pada LCD.
  2.   LCD sebagai pemberi informasi apakah ID terdaftar atau tidak untuk selajutnya diteruskan pada sistem yang berbeda.




Tidak ada komentar:

Posting Komentar