Keamanan modern kini bisa dibangun dengan mudah melalui teknologi IoT.
Dalam project ini, kami menghadirkan sistem door lock berbasis RFID dan ESP32 yang dapat mengontrol akses pintu dengan lebih aman, cepat, dan fleksibel.

Fitur Utama:

Akses Menggunakan Kartu RFID → hanya kartu yang terdaftar yang bisa membuka pintu.

Kontrol Pintar via ESP32 → ESP32 sebagai otak sistem, mendukung koneksi WiFi untuk pengembangan ke arah IoT.

Data User Tersimpan → kartu baru bisa ditambahkan atau dihapus sesuai kebutuhan.

Keamanan Tinggi → lebih aman dibandingkan kunci konvensional, sulit untuk digandakan.

Mudah Dikembangkan → bisa diintegrasikan dengan aplikasi mobile, database online, atau sistem monitoring.

Manfaat:

Cocok untuk rumah, kantor, sekolah, atau laboratorium.

Memberikan kontrol akses yang praktis tanpa perlu kunci fisik.

Menjadi proyek edukasi IoT yang aplikatif bagi pelajar dan mahasiswa.

Dengan RFID ESP32 Door Lock, keamanan pintu tidak hanya cerdas, tetapi juga terhubung dengan masa depan.

📦 Alat & Bahan

  • ESP32 DevKit

  • Modul RFID RC522

  • Solenoid door lock / relay + electric strike lock (bisa juga pakai LED dulu untuk simulasi)

  • Kabel jumper

  • Breadboard (opsional)

  • Kartu/tag RFID


⚡ Langkah-Langkah

1. Instalasi Library di Arduino IDE

  • Buka Arduino IDE → Tools → Manage Libraries.

  • Cari dan install:

    • MFRC522 (by GithubCommunity) → untuk modul RFID.

    • SPI (sudah ada bawaan).


2. Rangkaian Koneksi

Hubungkan RC522 ke ESP32:

RC522 PinESP32 Pin
SDA (SS)21
SCK18
MOSI23
MISO19
RST22
3.3V3.3V
GNDGND

👉 Output Door Lock (atau LED simulasi):

  • Relay/LED → pin 5 ESP32

 

3. Kode Program

 
#include <SPI.h> #include <MFRC522.h> #define SS_PIN 21 #define RST_PIN 22 #define RELAY_PIN 5 // untuk door lock (atau LED simulasi) MFRC522 mfrc522(SS_PIN, RST_PIN); // Ganti dengan UID kartu RFID Anda // (bisa dilihat di Serial Monitor saat tempel kartu baru) String allowedUID = "73 D5 9A 2B"; void setup() { Serial.begin(115200); SPI.begin(); mfrc522.PCD_Init(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // default pintu terkunci Serial.println("Tempelkan Kartu RFID..."); } void loop() { // Cek kartu if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } // Baca UID String content = ""; for (byte i = 0; i < mfrc522.uid.size; i++) { content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); content.concat(String(mfrc522.uid.uidByte[i], HEX)); } content.toUpperCase(); Serial.println("UID: " + content); // Cek apakah UID sesuai if (content.substring(1) == allowedUID) { Serial.println("Akses Diterima ✅ - Pintu Terbuka"); digitalWrite(RELAY_PIN, HIGH); // buka kunci delay(5000); // pintu terbuka 5 detik digitalWrite(RELAY_PIN, LOW); // kunci lagi } else { Serial.println("Akses Ditolak ❌"); } }
 
 

4. Cara Mengetahui UID Kartu

  1. Upload dulu program contoh:
    File → Examples → MFRC522 → DumpInfo.

  2. Tempel kartu/tag RFID → buka Serial Monitor (115200 baud).

  3. Catat UID → copy ke variabel allowedUID di kode utama.


5. Pengembangan Lanjutan

  • Menambahkan beberapa UID untuk banyak user.

  • Integrasi ke database online via WiFi.

  • Menambahkan web dashboard / aplikasi Android untuk monitoring.

WhatsApp