Advertisement





Iklan

Proyek Arduino Uno Menghidupkan Lampu Dengan Kartu RFID

 


Tujuan Proyek

Menghidupkan Lampu elektronik (misalnya LED) menggunakan kartu RFID sebagai autentikasi.


Kebutuhan Hardware:

  1. Arduino Uno.
  2. Modul RFID MFRC522.
  3. LED (dengan resistor 220 ohm).
  4. Kabel jumper.

Wiring:

RFID PinArduino Pin
VCC3.3V
RSTPin 9
GNDGND
MISOPin 12
MOSIPin 11
SCKPin 13
SDA (SS)Pin 10

LED Pin:

  • Positif LED → Pin 7 (dengan resistor 220 ohm).
  • Negatif LED → GND.


Kode Program

Berikut adalah kode Arduino untuk membaca kartu RFID dan mengontrol LED sebagai saklar ON/OFF.

cpp
#include <SPI.h> #include <MFRC522.h> // Pin definisi #define RST_PIN 9 // Pin RST RFID #define SS_PIN 10 // Pin SDA (SS) RFID #define LED_PIN 7 // Pin LED MFRC522 rfid(SS_PIN, RST_PIN); // Inisialisasi modul RFID // UID kartu yang valid byte kartuValid1[] = {0xDE, 0xAD, 0xBE, 0xEF}; // Ganti dengan UID kartu pertama byte kartuValid2[] = {0xCA, 0xFE, 0xBA, 0xBE}; // Ganti dengan UID kartu kedua byte kartuValid3[] = {0x12, 0x34, 0x56, 0x78}; // Ganti dengan UID kartu ketiga (opsional) void setup() { Serial.begin(9600); SPI.begin(); // Memulai komunikasi SPI rfid.PCD_Init(); // Inisialisasi RFID pinMode(LED_PIN, OUTPUT); // Atur pin LED sebagai output digitalWrite(LED_PIN, LOW); // Matikan LED awalnya Serial.println("Scan kartu RFID untuk menghidupkan LED"); } void loop() { // Periksa apakah ada kartu yang dekat if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) { return; // Tidak ada kartu, keluar dari loop } // Tampilkan UID kartu yang dibaca Serial.print("UID kartu: "); for (byte i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i], HEX); Serial.print(" "); } Serial.println(); // Cek apakah kartu valid if (cekKartu(rfid.uid.uidByte, rfid.uid.size)) { Serial.println("Kartu valid! LED menyala."); digitalWrite(LED_PIN, HIGH); // Nyalakan LED delay(3000); // LED menyala selama 3 detik digitalWrite(LED_PIN, LOW); // Matikan LED } else { Serial.println("Kartu tidak valid."); } rfid.PICC_HaltA(); // Hentikan komunikasi dengan kartu } // Fungsi untuk memeriksa apakah UID kartu cocok dengan kartu yang valid bool cekKartu(byte *uid, byte uidSize) { if (uidSize == 4) { // Ukuran UID harus 4 byte if (memcmp(uid, kartuValid1, uidSize) == 0) return true; if (memcmp(uid, kartuValid2, uidSize) == 0) return true; if (memcmp(uid, kartuValid3, uidSize) == 0) return true; } return false; // Jika tidak ada yang cocok }

Penjelasan Script:

  1. Library RFID: Library MFRC522 digunakan untuk membaca data dari modul RFID.
  2. UID Kartu Valid:
    • UID kartu didefinisikan di awal script (kartuValid1, kartuValid2, kartuValid3).
    • Ganti nilai UID dengan UID kartu Anda (dapat dilihat di serial monitor saat kartu pertama kali didekatkan).
  3. Fungsi cekKartu:
    • Fungsi ini membandingkan UID yang dibaca dengan UID kartu valid.
    • Jika cocok, fungsi mengembalikan true, dan LED menyala.
  4. LED Kontrol:
    • LED menyala selama 3 detik jika kartu valid, kemudian mati.

Cara Menemukan UID Kartu:

  1. Upload script ke Arduino Uno.
  2. Dekatkan kartu ke modul RFID.
  3. Lihat UID kartu pada Serial Monitor.
  4. Salin UID tersebut dan masukkan ke array kartuValid1, kartuValid2, atau kartuValid3.

Untuk Mendownload file source arduino dapat scand barcode dibawah ini




Posting Komentar

0 Komentar