Elektronika & Robotika Dasar

Pertemuan 7

Sensor Gerak PIR (HC-SR501)

Tujuan Pembelajaran

  • Memahami prinsip kerja sensor PIR dalam mendeteksi gerakan.
  • Mampu memasang dan membaca output sensor PIR.
  • Mampu membuat sistem deteksi gerak sederhana (misal simulasi lampu otomatis / alarm).

Penjelasan Konsep

Prinsip kerja PIR

Sensor PIR HC-SR501 mendeteksi perubahan radiasi inframerah yang dipancarkan tubuh manusia/hewan (panas tubuh). Saat ada objek hangat yang bergerak melintas di jangkauan sensor, output PIR berubah dari LOW ke HIGH.

Karakteristik sensor PIR

  • Sensor ini pasif - tidak memancarkan sinyal apa pun, hanya "mendengarkan" perubahan inframerah di sekitarnya, sehingga hemat daya.
  • HC-SR501 dilengkapi dua trimpot: satu untuk mengatur sensitivitas/jarak deteksi, satu lagi untuk mengatur waktu delay output tetap HIGH setelah gerakan terdeteksi.
  • Butuh waktu pemanasan (warm-up) sekitar 30–60 detik setelah dinyalakan sebelum pembacaannya stabil.

Aplikasi umum

Lampu otomatis, alarm keamanan, penghitung orang lewat, sistem hemat energi ruangan.

Kesalahan umum

  • Tidak menunggu waktu pemanasan - menguji sensor segera setelah dinyalakan sering memicu pembacaan HIGH palsu karena sensor masih menyesuaikan diri dengan suhu ruangan sekitarnya.
  • Trimpot delay diatur terlalu lama saat testing - siswa mengira sensor "tidak responsif" padahal LED memang sengaja tetap menyala lama sesuai pengaturan trimpot delay, bukan bug program.
  • Sensor diarahkan ke sumber panas tetap (misalnya dekat lampu pijar, ventilasi AC/kipas) - bisa memicu pembacaan salah karena PIR sensitif terhadap perubahan radiasi inframerah, bukan hanya keberadaan manusia.
  • Mengira PIR bisa mendeteksi objek diam - PIR hanya mendeteksi perubahan inframerah, sehingga orang yang berdiri diam cukup lama di jangkauan sensor bisa gagal terdeteksi terus-menerus.

Komponen yang Dibutuhkan

  • 1x Arduino Uno atau ESP32
  • 1x Sensor PIR HC-SR501
  • 1x LED + resistor 220Ω (indikator)
  • Breadboard, kabel jumper

Diagram / Skema Pengkabelan

Sensor PIR HC-SR501:
  VCC -> 5V
  OUT -> pin digital (mis. D7)
  GND -> GND

LED indikator:
  Anoda -> resistor 220Ω -> pin D8
  Katoda -> GND

Contoh Kode Program

// Mendeteksi gerakan dengan sensor PIR, menyalakan LED saat gerakan terdeteksi

const int pinPir = 7;
const int pinLed = 8;

void setup() {
  pinMode(pinPir, INPUT);
  pinMode(pinLed, OUTPUT);
  Serial.begin(9600);
  Serial.println("Sensor PIR pemanasan, tunggu sebentar...");
  delay(30000); // waktu pemanasan sensor PIR
  Serial.println("Sensor siap!");
}

void loop() {
  int statusGerak = digitalRead(pinPir);

  if (statusGerak == HIGH) {
    digitalWrite(pinLed, HIGH);
    Serial.println("Gerakan terdeteksi!");
  } else {
    digitalWrite(pinLed, LOW);
  }

  delay(200);
}

Tugas / Latihan

  1. Amati berapa lama LED tetap menyala setelah gerakan berhenti - sesuaikan trimpot delay di modul PIR, catat perubahannya.
  2. Kombinasikan sensor PIR dengan buzzer untuk membuat simulasi alarm keamanan sederhana.
  3. (Tantangan) Tambahkan penghitung jumlah deteksi gerakan (event count), dengan syarat gerakan baru hanya dihitung setelah status sempat kembali LOW terlebih dahulu (hindari satu gerakan panjang terhitung berkali-kali).