Translate

Membuat Alat kendali Relay Menggunakan RFID Reader RC522 (Mifrc 522) dan Arduino

Membuat Alat kendali Relay Menggunakan RFID Reader RC522 (Mifrc 522) dan Arduino


        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