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:
- Penerapan RFID untuk menampilkan text pada LCD.
- LCD sebagai pemberi informasi apakah ID terdaftar atau tidak untuk selajutnya diteruskan pada sistem yang berbeda.
Tidak ada komentar:
Posting Komentar