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.
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
Buka Arduino IDE → Tools → Manage Libraries.
Cari dan install:
MFRC522 (by GithubCommunity) → untuk modul RFID.
SPI (sudah ada bawaan).
Hubungkan RC522 ke ESP32:
| RC522 Pin | ESP32 Pin |
|---|---|
| SDA (SS) | 21 |
| SCK | 18 |
| MOSI | 23 |
| MISO | 19 |
| RST | 22 |
| 3.3V | 3.3V |
| GND | GND |
Output Door Lock (atau LED simulasi):
Relay/LED → pin 5 ESP32
#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 ❌");
}
}Upload dulu program contoh:
File → Examples → MFRC522 → DumpInfo.
Tempel kartu/tag RFID → buka Serial Monitor (115200 baud).
Catat UID → copy ke variabel allowedUID di kode utama.
Menambahkan beberapa UID untuk banyak user.
Integrasi ke database online via WiFi.
Menambahkan web dashboard / aplikasi Android untuk monitoring.
