Bagikan Postingan ini :

Halo sobat netizen lama gak posting di website ini karena sibuk kerjaan. So postingan saya kali ini adalah tentang Arduino ya, kemaren saya juga baru mempelajari Mikrokontroler ini ternyata asik juga bisa menuangkan bahasa pemrograman ke dalam sebuah perangkat yang nantinya menjadi sebuah perintah untuk menjalankan perangkat tersebut, dan kali ini saya mencoba untuk share coding saya untuk membuat RFID menjadi Switch atau saklar yang nantinya hanya menggunakan 1 Tag atau 1 Kartu saja sebagai On/Offnya, Oke kalau begitu kita langsung saja ya ke tutorialnya. Buat sobat yang belum tahu bagaimana cara Mengetahui ID dari Kartu atau Tag Sobat bisa langsung ke Link Di bawah ini

Cara Mengetahui ID Pada Kartu dan Tag RFID

Kita Lanjut, Silahkan lihat rangkaian di bawah untuk menghubungkanya…

1. Rangkaian Arduino dengan RFID 

ikuti seperti rangkaian di atas ya untuk menghubungkan RFID dengan board arduinonya untuk pin IRQ dikosongkan saja, seteleah merangkai seperti di atas kita lanjut ke tahap 2 yaitu merangkai Relay

2. Rangkaian Relay dengan Arduino

Selanjutnya setelah RFID dan RELAY terhubung ke Arduino kita masuk ke aplikasi ARDUINO IDE di komputer masing-masing ya sobat. dan masukan coding seperti dibawah , Ingat sebelum memasukan coding dibawah incude dulu semua librarynya ya. Untuk mendownload code dari Program di atas bisa langsung klik di bawah ini

Library RFID
GDrive | Mediafire

CODING ARDUINO RFID ONE CARD / TAG ONLY
GDrive | Mediafire

Untuk Videonya sobat bisa lihat di bawah ini.

RFID ON dan OFF Menggunakan 2 ID yang berbeda
Untuk code kali ini 1 Kartu / Tag RFID saya gunakan untuk menyalakan Relay atau Lampu sedangkan 1 Kartu / Tag lainya saya gunakan untuk mematikan Relay atau Lampunya, Rangkaianya sama seperti di atas namun saya hanya menambahkan LED Merah dan Hijau Sebagai Penanda saja . Codenya Seperti di bawah ini
#include <MFRC522.h>
#include <SPI.h>

#define SS_PIN 10 //pin RFID yang bisa di ubah
#define RST_PIN 9 //pin RFID yang bisa di ubah


#define RELAY_1  8   // pin yang digunakan yaitu pin 8

MFRC522 rfid(SS_PIN,RST_PIN);


const int Merah = 3; //pin Led yang digunakan
const int hijau = 2; //pin Led yang digunakan

void setup(){

    Serial.begin(9600);
    SPI.begin();
    rfid.PCD_Init();

    pinMode(Merah, OUTPUT);
    pinMode(hijau, OUTPUT);
    pinMode(RELAY_1, OUTPUT);

    digitalWrite(RELAY_1, LOW);
    digitalWrite(Merah, LOW);
    digitalWrite(hijau, LOW);
   
}

void loop(){
  
// Look for new cards
  if ( ! rfid.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! rfid.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  String ID= "";
  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));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "80 20 64 A3") //ganti ID kartu sobat disini untuk kartu yang pertama
  {
    Serial.println("Lampu Nyala");
          digitalWrite(hijau, HIGH);
          digitalWrite(Merah, LOW);
          digitalWrite(RELAY_1, HIGH);
 delay (5000);
  }else   {
    if (content.substring(1) == "E0 F9 DA A4 ") //ganti ID kartu sobat disini untuk kartu yang kedua
    Serial.println("Lampu Mati"); 
           digitalWrite(Merah, HIGH);
           digitalWrite(hijau, LOW);
          digitalWrite(RELAY_1, LOW);
          delay(5000);
  }
}

RFID On saat Kartu Atau Tag Berada di Tempat (Seperti di Hotel – Hotel)

untuk project yang satu ini saya pernah membaca di sebuah forum bagaimana cara menyalakan Relay apabila RFID sedang berada di Modul Receivernya sehingga saat kartu atau tag diletakan di tempat maka Lampu akan menyala begitu juga sebaliknya saat kartu atau tag di angkat dari tempat Receiver RFID nya maka lampu akan otomatis mati. Codenya seperti di bawah ini

#include <SPI.h>
#include <MFRC522.h>
#define RELAY 8
#define RST_PIN         9           
  #define SS_PIN          10          
  
  MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance
  
  //*****************************************************************************************//
  void setup() {
    pinMode(RELAY,OUTPUT);
    digitalWrite(RELAY,LOW);
    Serial.begin(9600);                                           // Initialize serial communications with the PC
    SPI.begin();                                                  // Init SPI bus
    mfrc522.PCD_Init();                                              // Init MFRC522 card
  }
  uint8_t control = 0x00;
  
  //*****************************************************************************************//
  
  
  
  void loop() {
  
    // Look for new cards
    if ( !mfrc522.PICC_IsNewCardPresent()) {
      return;
    }
    if ( !mfrc522.PICC_ReadCardSerial()) {
      return;
    }

    bool result = true;
    uint8_t buf_len = 4;
  
    Serial.println("NewCard ");
    
    while (true) {
      control = 0;
      for (int i = 0; i < 3; i++) {
        if (!mfrc522.PICC_IsNewCardPresent()) {
          if (mfrc522.PICC_ReadCardSerial()) {
            //Serial.print('a');
            control |= 0x16;
          }
          if (mfrc522.PICC_ReadCardSerial()) {
            //Serial.print('b');
            control |= 0x16;
          }
          //Serial.print('c');
          control += 0x1;
        }
        //Serial.print('d');
        control += 0x4;
      }
  
      Serial.println(control);
      if (control == 13 || control == 14) {
        digitalWrite(RELAY,HIGH);
        //saat kartu masih terbaca
      } else {
        digitalWrite(RELAY,LOW);
        break;
      }
    }
    Serial.println("CardRemoved");
    delay(500); //rubah delay jika ingin pembacaan lebih cepat
  
    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();
  }
  //*****************************************************************************************//a   `

Rangkaian di atas sudah saya coba dan praktekan serta coding tersebut sudah work 100% asalkan rangkaian benar seperti di atas. hasilnya bisa diihat seperti video di atas dan jika berkenaan di hati mohon di Share yaa dengan klik tombol share post di bawah. Terimakasih selamat mencobaa