Modul RFID-RC522 merupakan modul yang digunakan untuk pembaca data dari kartu RFID. Setiap kartu RFID atau Tag RFID lainnya dapat berupa gantungan kunci dan sebagainya mempunyai ID yang unik, atau satu dengan yang lainnya berbeda. ID tersebut yang digunakan agar dapat diprogram sebagai pengaman, sehingga ketika ada suatu ID yang tidak cocok dengan program , maka Arduino akan memberikan perintah bahwa ID tidak cocok. Pada project ini ketika ID dari RFID cocok, maka dapat digunakan untuk mengontrol Relay yang selanjutnya dapat dihubungkan pada alat lain sebagai pengaman. Jadi, sebelum mencoba project ini, maka anda harus tahu terlebih dahulu ID dari kartu RFID yang anda miliki. Program Pembacaan ID Kartu RFID telah tersedia di blog ini dengan judul "Interfacing RFID".
Kebutuhan Hardware
- RFID Card
- RFID RC522
- LCD 2X16
- Buzzer
- Relay +5V
- Modul Arduino UNO
- Power supply +9Volt
RFID RC522 dan RFID Tag | Source
Diagram Blok
Schematic
Koneksi Arduino UNO dengan modul RFID RC522
Koneksi Arduino UNO dengan LCD
Koneksi Relay dan Buzzer
Source Code/Sketch
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
byte noID[3];
byte i, kursor, kunci;
byte bukaPintu=1;
void setup() {
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
lcd.begin(16, 2);
SPI.begin();
mfrc522.PCD_Init();
lcd.setCursor(0,0);
lcd.print(" Kunci Motor");
lcd.setCursor(0,1);
lcd.print("Elektrik dg RFID");
delay(3000);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Aktif");
digitalWrite(A1, 1);
kunci=1;
}
void loop() {
if(!mfrc522.PICC_IsNewCardPresent()|| !mfrc522.PICC_ReadCardSerial()){
return;
}
for (i=0; i<mfrc522.uid.size; i++) {
noID[i]=mfrc522.uid.uidByte[i];
}
lcd.clear();
//----------------nomor ID E6 BB FE 48
if (0XE6 == noID[0] && 0XBB == noID[1] &&
0XFE == noID[2] && 0X48 == noID[3] ) {
if (kunci==0){
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Aktif");
digitalWrite(A1, 1);
kunci=1;
}
else{
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Tidak Aktif");
digitalWrite(A1, 0);
kunci=0;
}
}
else{
lcd.print(" kartu ID Anda");
lcd.setCursor(0,1);
lcd.print("tidak terdaftar");
}
delay(2000);
}
#include <MFRC522.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
byte noID[3];
byte i, kursor, kunci;
byte bukaPintu=1;
void setup() {
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
lcd.begin(16, 2);
SPI.begin();
mfrc522.PCD_Init();
lcd.setCursor(0,0);
lcd.print(" Kunci Motor");
lcd.setCursor(0,1);
lcd.print("Elektrik dg RFID");
delay(3000);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Aktif");
digitalWrite(A1, 1);
kunci=1;
}
void loop() {
if(!mfrc522.PICC_IsNewCardPresent()|| !mfrc522.PICC_ReadCardSerial()){
return;
}
for (i=0; i<mfrc522.uid.size; i++) {
noID[i]=mfrc522.uid.uidByte[i];
}
lcd.clear();
//----------------nomor ID E6 BB FE 48
if (0XE6 == noID[0] && 0XBB == noID[1] &&
0XFE == noID[2] && 0X48 == noID[3] ) {
if (kunci==0){
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Aktif");
digitalWrite(A1, 1);
kunci=1;
}
else{
digitalWrite(A0, 1);
delay(100);
digitalWrite(A0, 0);
delay(100);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print(" Tidak Aktif");
digitalWrite(A1, 0);
kunci=0;
}
}
else{
lcd.print(" kartu ID Anda");
lcd.setCursor(0,1);
lcd.print("tidak terdaftar");
}
delay(2000);
}
Jalannya Alat
1. Tampilan normal pada LCD
2. Selanjutnya kunci elektrik aktif, buzzer berbunyi 2x dan LCD menampilkan tulisan
3. Dekatkan ID Card pada modul RFID untuk menonaktifkan kunci elektrik, buzzer berbunyi 1x dan
pada LCD menampilkan
Video untuk Project V - 13. Sistem Keamanan dengan Menggunakan RFID berbasis Arduino
KONTAK KAMI 085743320570 (adi sanjaya)
kalau tidak pakai LCD code mana yg harus dihilangkan?
ReplyDeletemakasih banyak tutornya !!!
hapus yang ada tulisan lcd semisal --> lcd.print("teks")
DeleteBener gan, jika tanpa lcd, jadi diganti led, misal
ReplyDeletekunci elektrik tidak aktif led merah hidup,
kunci elektrik aktif led hijau hidup,
kartu tidak terdaftar, led merah kedap kedip
itu sketch nya gimana gan?
terimakasih sebelumnya
hapus yang ada tulisan lcd semisal --> lcd.print("teks")
Deleteuntuk led indikator , pelajari dulu akses led dengan arduino