Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang bisa mengendalikan relay menggunakan RFID reader RC522, alat ini bisa diaplikasikan sebagai alat untuk buka tutup pintu berbasis RFID atau bisa juga buka tutup pagar dan door lock system. alat ini menggunakan output relay dan interface berupa LCD 16x2, untuk lebih jelasnya berikut adalah program dan skemanya.
a. Arduino Uno
b. RFID Reader RC522
c. LCD 16x2 + I2C
d. Relay 5v
e. Program Arduino IDE
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h> //i2C LCD Library
LiquidCrystal_I2C lcd(0x3F, 16, 2); //library i2c lcd
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
lcd.begin(); //set lcd i2c
lcd.noCursor(); //biar gak ada cursor di lcd
lcd.clear(); //clear lcd
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Put your card to the reader...");
Serial.println();
lcd.setCursor(0,0);
lcd.print("Dekatkan Kartu");
delay(1000);
pinMode(2,OUTPUT);
digitalWrite(2,HIGH);
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
lcd.setCursor(0,0);
lcd.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
lcd.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
lcd.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "0B C5 9D 23") //change here the UID of the card/cards that you want to give access
{
//Serial.println("Authorized access");
//Serial.println();
lcd.setCursor(0,1);
lcd.print("ID BENAR ");
digitalWrite(2,LOW);
delay(3000);
digitalWrite(2,HIGH);
lcd.clear();
}
else {
lcd.setCursor(0,1);
lcd.print("ID SALAH ");
delay(3000);
lcd.clear();
}
}
f. VIDEO HASILNYA
No comments:
Post a Comment