Cara Menggunakan Sensor PIR dengan Arduino (Panduan Lengkap)

Robotik & Hardware, ELrolumnews — Anda sudah bisa menyalakan LED, membaca sensor suhu, bahkan membuat smart home dengan ESP32. Tapi bagaimana caranya membuat perangkat yang bisa mendeteksi gerakan—seperti alarm yang menyala saat ada orang lewat?

Artikel ini cocok untuk: Anda yang sudah familiar dengan dasar Arduino dan ingin belajar menggunakan sensor PIR—sensor gerak yang paling umum dan terjangkau.

Sensor PIR (Passive Infrared) adalah sensor yang mendeteksi perubahan radiasi inframerah di sekitarnya. Setiap benda yang memiliki suhu di atas nol mutlak memancarkan radiasi inframerah—termasuk manusia dan hewan . Sensor PIR tidak memancarkan apa pun—ia pasif, hanya “mendengarkan” perubahan panas di sekitarnya .

Di artikel ini, kita akan bahas dari nol: apa itu sensor PIR, cara kerjanya, wiring ke Arduino, kode program, hingga proyek alarm gerak sederhana yang bisa langsung dipraktikkan.

Apa Itu Sensor PIR dan Bagaimana Cara Kerjanya?

PIR adalah singkatan dari Passive Infrared. Disebut “pasif” karena sensor ini tidak memancarkan energi apa pun untuk mendeteksi—ia hanya menerima radiasi inframerah dari objek di sekitarnya .

Prinsip Kerja Sensor PIR

Sensor PIR terdiri dari dua elemen sensing yang terpisah secara fisik. Setiap elemen memiliki field of view (FOV) yang sedikit berbeda .

KondisiApa yang Terjadi
Tidak ada gerakanKedua elemen mendeteksi jumlah radiasi inframerah yang sama—output nol 
Ada gerakanSatu elemen mendeteksi lebih banyak radiasi daripada yang lain—output berubah 

Ketika manusia atau hewan bergerak melintasi kedua field of view, sensor menghasilkan gelombang sinyal—dan itulah yang dideteksi sebagai “gerakan” .

Mengapa Sensor PIR Bisa Salah Deteksi?

Sensor PIR adalah detektor perubahan panas—bukan detektor gambar. Apa pun yang menyebabkan perubahan radiasi termal secara tiba-tiba bisa memicu deteksi palsu :

Penyebab False TriggerPenjelasan
Cahaya & bayanganSinar matahari, bayangan pohon bergerak 
Sumber panasAC, pemanas, knalpot kendaraan 
Hewan kecilKucing, anjing, atau serangga 
RefleksiCermin, kaca, lantai mengkilap 

💡 Tips Pro: Untuk mengurangi false trigger, hindari menempatkan sensor PIR menghadap jendela, cermin, atau sumber panas. Naikkan sensitivitas hanya jika perlu .

Komponen yang Dibutuhkan

KomponenFungsiPerkiraan Harga
Arduino UnoMikrokontrolerRp80-150 ribu
Sensor PIR HC-SR501Deteksi gerakRp15-30 ribu
LEDIndikator gerakRp1-2 ribu
Resistor 220ΩProteksi LEDRp500
Buzzer (opsional)Alarm suaraRp5-10 ribu
Kabel JumperKoneksiRp10-20 ribu
BreadboardPrototypingRp15-25 ribu

💡 Sensor PIR HC-SR501 adalah modul PIR paling populer untuk Arduino—murah, mudah digunakan, dan memiliki potensiometer untuk mengatur sensitivitas dan delay .

Langkah 1: Wiring Sensor PIR ke Arduino

Koneksi Dasar

Sensor PIRArduino
VCC5V 
GNDGND 
OUTDigital Pin 2 

Koneksi LED (Indikator)

LEDArduino
Anoda (kaki panjang)Digital Pin 13 (via resistor 220Ω) 
Katoda (kaki pendek)GND

Koneksi Buzzer (Opsional)

BuzzerArduino
PositifDigital Pin 3 
NegatifGND

⚠️ Peringatan: Sensor PIR HC-SR501 membutuhkan waktu pemanasan (warm-up) sekitar 30-60 detik setelah pertama kali dinyalakan. Selama periode ini, output bisa tidak stabil—ini normal .

Langkah 2: Kode Program Dasar

Ini kode paling sederhana untuk membaca sensor PIR.

Kode

cpp
#define PIR_PIN 2
#define LED_PIN 13

void setup() {
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
  Serial.println("Sensor PIR siap...");
  delay(30000); // Warm-up 30 detik
}

void loop() {
  int gerakan = digitalRead(PIR_PIN);

  if (gerakan == HIGH) {
    Serial.println("Gerakan terdeteksi!");
    digitalWrite(LED_PIN, HIGH);
    delay(1000);
    digitalWrite(LED_PIN, LOW);
  } else {
    Serial.println("Tidak ada gerakan...");
  }

  delay(500);
}

Penjelasan Kode

BagianFungsi
#define PIR_PIN 2Pin sensor PIR 
pinMode(PIR_PIN, INPUT)Set pin sebagai input 
digitalRead(PIR_PIN)Baca status sensor 
HIGHGerakan terdeteksi 
delay(30000)Warm-up sensor 

Langkah 3: Mengatur Sensitivitas dan Delay

Sensor PIR HC-SR501 memiliki dua potensiometer yang bisa diatur :

PotensiometerFungsiCara Mengatur
Sx (Sensitivity)Jarak deteksi (3-7 meter)Putar searah jarum jam = lebih sensitif 
Tx (Time Delay)Durasi output HIGH (0.3-200 detik)Putar searah jarum jam = lebih lama 

Mode Trigger

Ada jumper di sensor untuk memilih mode:

ModeJumperPerilaku
Single TriggerL (Low)Output HIGH sekali, lalu LOW setelah delay 
Repeat TriggerH (High)Output HIGH terus selama gerakan terdeteksi 

💡 Tips Pro: Untuk alarm keamanan, gunakan Repeat Trigger—agar alarm terus menyala selama ada gerakan. Untuk hemat daya, gunakan Single Trigger .

Langkah 4: Proyek Alarm Gerak Sederhana

Sekarang kita gabungkan sensor PIR dengan buzzer untuk membuat alarm.

Kode Alarm

cpp
#define PIR_PIN 2
#define BUZZER_PIN 3
#define LED_PIN 13

void setup() {
  pinMode(PIR_PIN, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
  Serial.println("Alarm gerak aktif...");
  delay(30000); // Warm-up
}

void loop() {
  int gerakan = digitalRead(PIR_PIN);

  if (gerakan == HIGH) {
    Serial.println("GERAKAN TERDETEKSI! ALARM!");
    
    // Alarm: LED + Buzzer selama 2 detik
    digitalWrite(LED_PIN, HIGH);
    tone(BUZZER_PIN, 1000); // Nada 1000 Hz
    delay(2000);
    
    digitalWrite(LED_PIN, LOW);
    noTone(BUZZER_PIN);
  }

  delay(500);
}

Cara Kerja

  1. Sensor PIR mendeteksi gerakan

  2. Arduino menyalakan LED dan buzzer

  3. Alarm berbunyi selama 2 detik

  4. Kembali ke mode monitoring

Langkah 5: Integrasi dengan ESP32 (Opsional)

Jika Anda ingin notifikasi ke smartphone atau integrasi smart home, ganti Arduino dengan ESP32 .

Contoh: Kirim Notifikasi ke Blynk

cpp
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>

#define PIR_PIN 2

char auth[] = "TOKEN_BLYNK_ANDA";
char ssid[] = "NAMA_WIFI";
char pass[] = "PASSWORD_WIFI";

BlynkTimer timer;

void cekGerakan() {
  int gerakan = digitalRead(PIR_PIN);
  if (gerakan == HIGH) {
    Blynk.logEvent("gerakan", "Gerakan terdeteksi!");
  }
}

void setup() {
  pinMode(PIR_PIN, INPUT);
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, cekGerakan);
}

void loop() {
  Blynk.run();
  timer.run();
}

Dengan integrasi ini, Anda akan mendapat notifikasi push di smartphone setiap kali gerakan terdeteksi.

Troubleshooting: Masalah Umum

MasalahPenyebabSolusi
Sensor tidak mendeteksiWarm-up belum selesaiTunggu 30-60 detik 
False trigger terus-menerusSensitivitas terlalu tinggiTurunkan sensitivitas 
Deteksi terlalu lambatDelay terlalu lamaTurunkan time delay
Sensor tidak stabilSumber daya kurangGunakan power supply stabil
Deteksi menembus dindingSensitivitas terlalu tinggiTurunkan sensitivitas

Kesalahan Umum dan Cara Menghindarinya

KesalahanAkibatSolusi
Tidak warm-upOutput tidak stabilTunggu 30-60 detik 
Menghadap jendelaFalse trigger dari sinar matahariUbah posisi 
Sensitivitas maksimalDeteksi hewan kecilTurunkan sensitivitas
Power tidak stabilSensor restartGunakan adaptor 5V stabil

Kesimpulan

Sensor PIR adalah pintu masuk ke dunia deteksi gerak—murah, mudah, dan sangat berguna. Kuncinya:

  1. Pahami cara kerjanya — mendeteksi perubahan radiasi inframerah 

  2. Wiring dengan benar — VCC, GND, OUT ke pin digital 

  3. Beri waktu warm-up — 30-60 detik sebelum digunakan 

  4. Atur sensitivitas — sesuaikan dengan kebutuhan 

  5. Tambahkan output — LED, buzzer, atau notifikasi IoT 

Dengan sensor PIR, Anda bisa membuat alarm keamananlampu otomatis, atau sistem deteksi gerak untuk smart home—semua dengan biaya di bawah Rp100 ribu.

Ingat: Sensor PIR adalah detektor perubahan panas, bukan kamera. Ia bisa “salah” melihat gerakan dari sumber panas lain. Posisi dan sensitivitas adalah kuncinya .

Sudah siap membuat alarm gerak pertama Anda?

💬 Punya proyek dengan sensor PIR? Bagikan di kolom komentar!

(el)

Share:

Tinggalkan Komentar

Please enter your comment!
Please enter your name here

More like this

Ilustrasi kontrol servo dengan Arduino, potensiometer, sudut 0-180°, dan proyek kamera pan-tilt

Cara Mengontrol Servo dengan Arduino (Panduan Lengkap)

Robotik & Hardware, Elrolumnews — Anda sudah bisa membuat robot pengikut garis, sudah bisa mengukur jarak dengan ultrasonik,...
Ilustrasi sensor ultrasonik HC-SR04 dengan Arduino untuk pengukuran jarak, gelombang suara, LCD, dan alarm kedekatan

Cara Menggunakan Sensor Ultrasonik HC-SR04 dengan Arduino (Panduan Lengkap)

Robotik & Hardware, ElrolumNews — Anda sudah bisa membuat robot pengikut garis, sudah bisa membaca sensor PIR, sudah...
Ilustrasi ESP32-CAM untuk monitoring dengan kamera OV2640, FTDI adapter, streaming video, dan privasi lokal

Cara Menggunakan ESP32-CAM untuk Monitoring (Panduan Lengkap)

Robotik & Hardware, ElrolumNews — Anda sudah bisa memprogram ESP32, sudah membuat smart home, sudah punya sensor PIR...

More

Recomended

Read More