
Halo Sobat Maker! Pernah nggak sih kalian merasa was-was pas lagi ninggalin kamar atau barang berharga di rumah? Rasanya pengen banget punya penjaga 24 jam, tapi kalau beli sistem keamanan profesional kan harganya lumayan menguras kantong. Tenang aja, kita bisa kok bikin sendiri sistem alarm keamanan Arduino yang ekonomis tapi tetep efektif buat mendeteksi penyusup. Cuma modal mikrokontroler dan sensor gerakan, kamu udah bisa punya sistem pengamanan otomatis yang bikin maling mikir dua kali. Yuk, kita bedah cara buatnya dengan gaya anak teknik tapi tetep asik!
Kenalan sama Komponennya

Untuk proyek ini, “otak” utamanya adalah Arduino Uno R3. Papan mikrokontroler ini favorit banget di kalangan DIY-er karena gampang diprogram dan punya 14 pin digital yang siap kita oprek. Sedangkan untuk “matanya”, kita pakai sensor PIR HC-SR501.
Sensor PIR (Passive Infrared) ini bekerja dengan cara mendeteksi perubahan radiasi inframerah yang dipancarkan oleh tubuh manusia. Speknya nggak main-main, lho: dia punya jangkauan deteksi antara 3 sampai 7 meter dengan sudut pandang lebar (kurang dari 120°). Kerennya lagi, sensor ini cuma butuh arus diam yang sangat kecil (<50μA), jadi nggak bakal bikin tagihan listrik jebol.
Selain sistem deteksi gerakan ini, kita juga bisa lho bikin detektor gas LPG berbasis IoT ESP32 Blynk buat pengaman dapur yang makin lengkap. Biar rumah makin aman dari segala sisi, kan?
Alat dan Bahan
Sebelum mulai merakit di atas breadboard, siapkan dulu komponen-komponen berikut ini sesuai spesifikasi teknisnya:
| Komponen | Jumlah | Keterangan |
| Arduino Uno R3 | 1 | Mikrokontroler ATmega328P, Tegangan operasi 5V DC. |
| Sensor PIR HC-SR501 | 1 | Detektor gerakan inframerah dengan tegangan output 3.3V (HIGH). |
| Active Buzzer 5V | 1 | Penghasil suara alarm nyaring (Intensitas 85-95 dB). |
| LED Merah | 1 | Indikator Alarm Mati (Disarmed). Forward voltage 1.8-2.2 V. |
| LED Hijau | 1 | Indikator Sistem Siaga (Armed). Forward voltage 2.0-2.2 V. |
| Resistor 220 Ω | 2 | Pembatas arus LED agar tidak putus (Warna: Merah-Merah-Cokelat). |
| Slide Switch | 1 | Saklar SPDT untuk mengaktifkan/mematikan sistem alarm. |
Skematik Rangkaian

Menghubungkan kabelnya gampang-gampang susah, kuncinya jangan sampai tertukar! Hati-hati jangan sampai ada short circuit, ya. Ikuti panduan pin di bawah ini:
- Sensor PIR: Hubungkan pin VCC ke 5V, GND ke GND, dan pin data (OUT) ke Pin 2 Arduino.
- Slide Switch: Hubungkan pin tengah ke Pin 3 Arduino. Tips: Gunakan resistor pull-down pada rangkaian fisik agar sinyalnya stabil dan nggak ‘floating’.
- LED Merah (Indikator OFF): Hubungkan kaki panjang (anoda) ke Pin 4 melalui resistor 220 Ohm, dan kaki pendek (katoda) ke GND.
- LED Hijau (Indikator ON): Hubungkan kaki panjang (anoda) ke Pin 5 melalui resistor 220 Ohm, dan kaki pendek (katoda) ke GND.
- Buzzer: Hubungkan terminal positif ke Pin 8 dan terminal negatif ke GND.
Cara Kerja Sistem

Sistem ini nggak cuma sekadar bunyi, tapi punya logika cerdas biar kamu nggak bingung sama status alarmnya:
- Mode Siaga (Alarm ON/Armed): Saat saklar digeser ke posisi ON, sistem masuk ke mode siaga. LED Hijau akan menyala terang. Kalau ada orang lewat di depan sensor, Arduino bakal langsung tahu dan membunyikan Buzzer dengan suara berdenyut (pulsing) dan mengirim peringatan ke komputer.
- Mode Nonaktif (Alarm OFF/Disarmed): Kalau kamu lagi di rumah dan nggak mau berisik, geser saklar ke OFF. Dalam kondisi ini, LED Merah akan menyala sebagai tanda sistem sedang “istirahat”. Alarm tidak akan merespons gerakan apa pun.
- Deteksi Pintar: Program ini juga cukup pintar karena dia hanya akan memberi tahu status “Alarm Hidup/Mati” satu kali saja di monitor saat saklar digeser, jadi nggak bakal menuh-menuhin layar kamu dengan teks yang sama terus-menerus.
Kode Program Arduino
Salin kode program di bawah ini ke Arduino IDE kamu. Perhatikan bagian lastSwitchStatus, itu adalah kunci biar sistemnya nggak “bawel” di Serial Monitor!
// Mendefinisikan pin untuk masing-masing komponen
const int pinPIR = 2; // Input Sensor PIR
const int pinSwitch = 3; // Input Saklar
const int pinLEDMerah = 4; // Indikator Sistem OFF
const int pinLEDHijau = 5; // Indikator Sistem ON
const int pinBuzzer = 8; // Output Alarm
// Variabel untuk menyimpan status
int statusPIR = 0;
int statusSwitch = 0;
int lastSwitchStatus = -1; // Variabel "Smart" untuk simpan status saklar terakhir
void setup() {
// Inisialisasi komunikasi serial
Serial.begin(9600);
// Mengatur mode pin
pinMode(pinPIR, INPUT);
pinMode(pinSwitch, INPUT);
pinMode(pinLEDMerah, OUTPUT);
pinMode(pinLEDHijau, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
Serial.println("Sistem Alarm Siap Dimulai.");
}
void loop() {
// Membaca status Switch dan PIR saat ini
statusSwitch = digitalRead(pinSwitch);
statusPIR = digitalRead(pinPIR);
// 1. Logika State-Change Detection untuk Serial Monitor
// Mencegah teks sampah/spam karena hanya update saat posisi saklar berubah
if (statusSwitch != lastSwitchStatus) {
if (statusSwitch == HIGH) {
Serial.println("Alarm Hidup");
} else {
Serial.println("Alarm Mati");
}
lastSwitchStatus = statusSwitch;
}
// 2. Logika Utama Alarm
if (statusSwitch == HIGH) {
// KONDISI ALARM ON: LED Hijau Aktif
digitalWrite(pinLEDHijau, HIGH);
digitalWrite(pinLEDMerah, LOW);
if (statusPIR == HIGH) {
Serial.println("AWAS! Gerakan Terdeteksi!");
// Frekuensi 1000Hz (nada menengah) selama 150ms agar suara berpulsa
tone(pinBuzzer, 1000, 150);
delay(300);
} else {
noTone(pinBuzzer);
}
} else {
// KONDISI ALARM OFF: LED Merah Aktif (Sistem Nonaktif)
digitalWrite(pinLEDHijau, LOW);
digitalWrite(pinLEDMerah, HIGH);
noTone(pinBuzzer);
}
}
Penjelasan Singkat:
setup(): Inisialisasi awal. Di sini kita menentukan siapa yang jadi “indra” (input) dan siapa yang jadi “aksi” (output).loop(): Mesin utama yang nge-cek kondisi setiap saat. PenggunaanlastSwitchStatussangat penting agar Arduino nggak ngirim pesan “Alarm Hidup” ribuan kali per detik ke laptop kita.tone(pinBuzzer, 1000, 150): Fungsi ini bikin buzzer bunyi di frekuensi 1000Hz selama 150 milidetik. Ini yang bikin bunyi alarmnya jadi “bip-bip-bip” bukan bunyi panjang yang membosankan.
Tips dan Kesimpulan
Biar hasil deteksi kamu makin akurat ala profesional, coba cek bagian belakang sensor PIR HC-SR501 kamu. Di sana ada dua komponen penting:
- Dua Potensiometer (Kuning): Putar untuk mengatur sensitivitas jarak dan berapa lama alarm bunyi setelah gerakan hilang (0,5 – 300 detik).
- Jumper Yellow Pin: Ada mode L (Single Trigger) di mana alarm cuma bunyi sekali per gerakan, dan mode H (Repeatable Trigger) di mana alarm bakal bunyi terus selama ada orang yang joget-joget di depannya. Untuk keamanan, mode H biasanya lebih oke!
Kesimpulannya, bikin alarm keamanan Arduino itu nggak cuma murah, tapi juga nambah skill elektronik kamu. Dengan komponen yang gampang dicari, kamu udah bisa bikin sistem proteksi yang handal. Kalau mau belajar lebih lanjut tentang perintah-perintah Arduino lainnya, langsung aja meluncur ke dokumentasi resmi Arduino. Selamat mencoba dan jangan lupa stay creative, Sobat Maker
