4.2.3 Relay
4.3 Tujuan
Respon di Software
Aktivitas
Arduino IDE
9. Jika terjadi error atau masalah pada project, ulangi prosedur percobaan,
sampai anda tidak mendapatkan error lag
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// inialisasi pin Slave Select (SS) dan pin Reset pada RFID dan
Arduino
#define pinSS 10
#define pinReset 9
#define buzzer 8
MFRC522 RFID(pinSS, pinReset);
// --- Setup Program Sebelum Memulai Loop --- //
void setup()
{
pinMode(buzzer, OUTPUT);
Serial.begin(9600); // memulai komunikasi Serial dengan Baudrate
9600
SPI.begin(); //Memulai Koneksi SPI
RFID.PCD_Init(); //inialisasi variabel untuk RFID
}
// menuliskan enter pada serial monitor
Serial.println();
// delay 2000 milidetik pembacaan data
delay(20);
}
4.7.2.2 Kode Arduino IDE Untuk Melihat Respon Card Tag ke Relay
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <MFRC522.h>
#define buzzer 8
#define SS_PIN 10
#define RST_PIN 9
#define LED_G 4
#define LED_R 5
#define RELAY 2
#define ACCESS_DELAY 1000
#define DENIED_DELAY 1000
String UID = "67 83 30 63";
byte lock = 0;
MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal_I2C lcd(0x27, 16, 2);
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
SPI.begin();
rfid.PCD_Init();
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(RELAY, OUTPUT);
digitalWrite(RELAY, LOW);
Serial.println("Tempelkan Kartu Anda");
Serial.println();
}
void loop() {
lcd.setCursor(1, 0);
lcd.print("Selamat Datang");
lcd.setCursor(1, 1);
lcd.print("Dekatkan Kartu");
if ( ! rfid.PICC_IsNewCardPresent())
return;
if ( ! rfid.PICC_ReadCardSerial())
return;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Memindai");
String ID = "";
for (byte i = 0; i < rfid.uid.size; i++) {
lcd.print(".");
ID.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
ID.concat(String(rfid.uid.uidByte[i], HEX));
delay(300);
}
Serial.print("ID :");
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("ID :");
String content = "";
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);
content.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(rfid.uid.uidByte[i], HEX));
lcd.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
lcd.print(rfid.uid.uidByte[i], HEX);
content.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(rfid.uid.uidByte[i], HEX));
}
Serial.println();
ID.toUpperCase();
digitalWrite(LED_R, LOW);
delay(DENIED_DELAY);
digitalWrite(LED_R, HIGH);
tone(buzzer, 1000);
delay(100);
noTone(buzzer);
delay(100);
tone(buzzer, 1000);
delay(100);
noTone(buzzer);
delay(100);
tone(buzzer, 1000);
delay(100);
noTone(buzzer);
delay(100);
tone(buzzer, 1000);
delay(100);
noTone(buzzer);
delay(1000);
}
}
4.7.5 Gambar Respon Relay Saat Penempelan Card Tag ke RFID-RC 522
Untuk Melihat Respon Relay
4.7.6 Gambar Respon Relay Saat Penempelan Card Tag Pada RFID-RC 522
di Arduino IDE
Gambar 4.7.6.b Respon Relay Saat Penempelan Card Tag Pada RFID-
RC 522 di Arduino IDE saat kartu tak terdaftar
4.9 Kesimpulan
4.10 Saran
DAFTAR PUSTAKA