
Sistem pemantauan lemari arsip otomatis berbasis IoT menggunakan sensor magnetik MC-38 dan mikrokontroler ESP32. Sistem ini berfungsi untuk mendeteksi status buka atau tutup pintu lemari secara real-time, kemudian menampilkannya melalui dashboard Blynk IoT. Selain itu, sistem dilengkapi dengan indikator LED dan buzzer alarm, serta fitur notifikasi push untuk meningkatkan keamanan dan efisiensi dalam pengawasan arsip penting di lingkungan kantor, sekolah, atau ruang penyimpanan lainnya.
Klik untuk membuat akun blynk : https://blynk.io/
Daftar Isi
Komponen
KOMPONEN | JUMLAH |
ESP32 Dev Board | 1 buah |
Sensor Magnetik MC-38 | 1 buah |
Relay 2 Channel | 1 buah |
Buzzer | 1 buah |
Power supply 5V | 1 buah |
Kabel jumper, konektor terminal, breadboard | secukupnya |
Koneksi Wi-Fi + Akun Blynk |
Diagram Wiring

Pin Komponen
Komponen | Pin |
ESP 32 | VIN GND D13 D14 D15 |
SENSOR MAGNET MC38 | D15 GND |
BUZZER | Kabel Hitam : GND Kabel Merah : D13 |
RELAY | VCC to VIN IN 1 to D14 IN 2 to D13 |
LED | Kaki Positif : Resistor danD14 Kaki Negatif : GND |
Kode Program
#define BLYNK_TEMPLATE_ID "..."
#define BLYNK_TEMPLATE_NAME "MEDICINE CABINET"
#define BLYNK_AUTH_TOKEN "...."
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
// WiFi
char ssid[] = "nama wifi";
char pass[] = "password wifi";
// Pin
const int sensorPin = 15; // Sensor MC-38 (NC)
const int relayLedPin = 14; // Relay LED (aktif LOW)
const int relayBuzzPin = 13; // Relay Buzzer (aktif LOW)
// Variabel status dan counter
bool lastCabinetState = false;
int cabinetOpenCount = 0; // Counter pembukaan
void setup() {
Serial.begin(115200);
delay(500);
pinMode(sensorPin, INPUT_PULLUP);
pinMode(relayLedPin, OUTPUT);
pinMode(relayBuzzPin, OUTPUT);
// Matikan relay saat awal
digitalWrite(relayLedPin, HIGH);
digitalWrite(relayBuzzPin, HIGH);
Serial.println("📡 Menghubungkan ke Blynk...");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
Serial.println("✅ Terhubung ke Blynk!");
}
void loop() {
Blynk.run();
int sensorState = digitalRead(sensorPin); // HIGH = terbuka
bool cabinetOpen = (sensorState == HIGH); // TRUE jika pintu terbuka
if (cabinetOpen != lastCabinetState) {
if (cabinetOpen) {
// Cabinet terbuka
Serial.println("🚨 Medicine cabinet terbuka!");
digitalWrite(relayLedPin, LOW);
digitalWrite(relayBuzzPin, LOW);
// Tambah jumlah pembukaan
cabinetOpenCount++;
Serial.print("📈 Cabinet telah dibuka sebanyak: ");
Serial.println(cabinetOpenCount);
Blynk.virtualWrite(V0, 255); // LED widget ON
Blynk.virtualWrite(V1, "🚨 MEDICINE CABINET TERBUKA 🔓");
Blynk.virtualWrite(V2, cabinetOpenCount); // Tampilkan jumlah
Blynk.logEvent("status_cabinet", "🚨 Medicine cabinet terbuka!");
} else {
// Cabinet tertutup
Serial.println("🔒 Medicine cabinet tertutup.");
digitalWrite(relayLedPin, HIGH);
digitalWrite(relayBuzzPin, HIGH);
Blynk.virtualWrite(V0, 0); // LED widget OFF
Blynk.virtualWrite(V1, "MEDICINE CABINET TERTUTUP 🔒");
}
lastCabinetState = cabinetOpen;
}
delay(300);
}
Langkah-langkah
- Rangkai Semua Komponen
- Sambungkan sensor MC-38 ke pin D15 dan GND.
- Hubungkan relay ke pin D14 (LED) dan D13 (buzzer).
- Sambungkan LED dan buzzer ke terminal NO relay.
- Pastikan semua GND dan VCC terhubung sesuai.
- Program Arduino IDE
- Download dan install Arduino IDE.
- Buka Tools → Board Manager, cari dan install ESP32 by Espressif Systems
- Buka Tools → Library Manager, install:
Blynk
(versi Blynk IoT, bukan Legacy)WiFi
danBlynkSimpleEsp32.h
otomatis disediakan.
- Setup Blynk IoT
- Buka https://blynk.cloud
- Buat project baru: MEDICINE CABINET
- Catat
BLYNK_TEMPLATE_ID
,TEMPLATE_NAME
, danAUTH_TOKEN
- Tambahkan widget di dashboard:
- LED → Virtual Pin
V0
(indikator alarm) - Label/Display Widget →
V1
(status terbuka/tertutup) - Value Display →
V2
(jumlah cabinet dibuka) - Event Notification →
status_cabinet
(aktifkan push notifikasi)
- Uji Coba
- Dekatkan dan jauhkan sensor MC-38 → LED dan buzzer akan ON/OFF
- Buka aplikasi Blynk di HP:
- Lihat perubahan status: Terbuka / Tertutup
- Cek indikator LED dan jumlah bukaan
- Coba notifikasi push muncul saat terbuka
Hasil Akhir
Sistem dapat:
- Mendeteksi pembukaan pintu
- Memberikan notifikasi langsung ke smartphone
- Mengaktifkan buzzer dan LED sebagai alarm



Link Reels Instagram
FAQ
Apakah sistem ini bisa dibuat portable?
Bisa, dengan menggunakan powerbank 5V atau baterai Li-ion + modul charger.
Apa yang terjadi jika koneksi WiFi terputus?
Sistem tetap bisa menjalankan fungsi lokal seperti menyalakan buzzer dan LED, namun data status dan notifikasi tidak akan terkirim ke aplikasi Blynk sampai koneksi WiFi kembali stabil.
Apakah sistem ini bisa digunakan untuk lemari logistik atau brankas?
Bisa. Sistem ini sangat fleksibel dan bisa digunakan di berbagai jenis ruang penyimpanan — seperti brankas, gudang, atau kabinet logistik yang membutuhkan pengawasan akses.
Apakah sistem ini bisa menampilkan waktu saat pintu dibuka?
Bisa, dengan menambahkan modul waktu seperti RTC (Real Time Clock) atau memanfaatkan sinkronisasi waktu dari internet (NTP) melalui ESP32. Data waktu bisa dikirim ke dashboard atau log.
Kesimpulan
Sistem pemantauan lemari arsip otomatis ini merupakan solusi efisien, praktis, dan modern untuk mengawasi akses terhadap dokumen penting. Dengan memanfaatkan sensor magnet MC-38 dan ESP32 yang terhubung ke aplikasi Blynk IoT, pengguna dapat mengetahui status buka-tutup pintu secara real-time, menerima notifikasi langsung, dan menjaga keamanan arsip secara digital.
Proyek ini tidak hanya cocok untuk keperluan rumah atau kantor, tapi juga dapat diimplementasikan dalam skala lebih besar untuk gudang, sekolah, institusi, atau fasilitas industri yang memerlukan sistem monitoring berbasis IoT yang hemat biaya.
Jadi, tunggu apalagi? Yuk, coba sekarang dan bikin sistem monitoring yang bisa kamu kontrol dan lihat kapanpun kamu mau!
Kalau kamu mau nambah pengalaman seru, coba deh proyek Membuat Running Text dengan ESP32 dan P10 untuk Pemula!