1. Skema Rangkaian Pin
Sebelum mengunggah kode, pastikan perpustakaan MFRC522 dan Servo sudah terinstall di Arduino IDE (via Tools $\rightarrow$ Manage Libraries).
Pin Modul RFID-RC522 ke Arduino Uno:
-
3.3V → 3.3V Arduino (Penting: Jangan hubungkan ke 5V!)
-
RST → Pin Digital 9
-
GND → GND
-
MISO → Pin Digital 12
-
MOSI → Pin Digital 11
-
SCK → Pin Digital 13
-
SDA (SS) → Pin Digital 10
Pin Servo Motor ke Arduino Uno:
-
Sinyal (Kuning/Oren) → Pin Digital 3
-
VCC (Merah) → 5V Arduino
-
GND (Cokelat/Hitam) → GND Arduino
2. Kode C++ Arduino
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS_PIN 10
#define RST_PIN 9
#define SERVO_PIN 3
MFRC522 rfid(SS_PIN, RST_PIN);
Servo myServo;
// Ganti nilai UID ini sesuai UID kartu/keyfob Anda
// Cara mengetahui UID: Jalankan Serial Monitor saat kartu di-tap
String masterUID = "A3 B4 C5 D6";
void setup() {
Serial.begin(9600);
SPI.begin(); // Inisialisasi bus SPI
rfid.PCD_Init(); // Inisialisasi RFID RC522
myServo.attach(SERVO_PIN);
myServo.write(0); // Posisi awal servo (Locked / 0 derajat)
Serial.println("Sistem RFID Siap. Tempelkan Kartu...");
}
void loop() {
// Cek apakah ada kartu baru yang didekatkan
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
// Membaca UID kartu yang dideteksi
String scannedUID = "";
for (byte i = 0; i < rfid.uid.size; i++) {
scannedUID += String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
scannedUID += String(rfid.uid.uidByte[i], HEX);
}
scannedUID.trim();
scannedUID.toUpperCase();
Serial.print("UID Terdeteksi: ");
Serial.println(scannedUID);
// Memeriksa apakah UID kartu sesuai dengan masterUID
if (scannedUID == masterUID) {
Serial.println("Akses Diterima! Membuka Pintu...");
myServo.write(90); // Putar servo ke 90 derajat (Unlocked)
delay(3000); // Tahan posisi selama 3 detik
myServo.write(0); // Kembalikan servo ke 0 derajat (Locked)
Serial.println("Pintu Terkunci Kembali.");
} else {
Serial.println("Akses Ditolak! Kartu Tidak Terdaftar.");
}
rfid.PICC_HaltA(); // Hentikan komunikasi dengan kartu
rfid.PCD_StopCrypto1();
}
3. Cara Penggunaan
-
Unggah kode ke Arduino Uno, lalu buka Serial Monitor (baud rate 9600).
-
Tempelkan kartu/keyfob RFID Anda ke modul RC522.
-
Lihat nilai UID yang muncul di Serial Monitor (contoh: 13 A2 4F C9).
-
Salin UID tersebut ke variabel masterUID pada kode (String masterUID = "13 A2 4F C9";), lalu re-upload kodenya.