Bab 15 · Arduino Uno R3
Sensor Gerak PIR HC-SR501 dengan Arduino
Kenali keluaran digital PIR, waktu penyesuaian awal, dan latihan menyalakan LED saat gerakan terdeteksi.
Apa yang dideteksi PIR?
PIR mendeteksi perubahan radiasi inframerah pada bidang pandangnya. Ketika orang bergerak melintas, modul dapat mengubah keluarannya menjadi HIGH. PIR bukan kamera dan tidak mengukur jarak. Orang yang diam bisa tidak lagi terdeteksi, jadi sensor ini tidak memastikan bahwa ruangan kosong.
Sambungan modul HC-SR501
Siapkan Uno R3, modul PIR HC-SR501, dan tiga jumper. Hubungkan VCC ke 5V, GND ke GND, serta OUT ke pin 2. Gunakan LED bawaan sebagai penanda sehingga tidak perlu LED luar. Pastikan letak pin dari label atau dokumentasi modul; posisi VCC dan GND tidak selalu sama pada setiap produk.
Program lengkap
const int PIN_PIR = 2;
const int PIN_LED = LED_BUILTIN;
int keadaanLama = LOW;
void setup() {
Serial.begin(9600);
pinMode(PIN_PIR, INPUT);
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
Serial.println("Tunggu sekitar 60 detik untuk penyesuaian PIR.");
delay(60000);
Serial.println("Siap. Coba bergerak melintasi sensor.");
}
void loop() {
int gerak = digitalRead(PIN_PIR);
digitalWrite(PIN_LED, gerak);
if (gerak != keadaanLama) {
if (gerak == HIGH) {
Serial.println("Gerakan terdeteksi");
} else {
Serial.println("Keluaran PIR kembali LOW");
}
keadaanLama = gerak;
}
delay(50);
}Buka Serial Monitor pada 9600 baud. Setelah masa awal selesai, melintaslah di depan sensor. LED menyala selama OUT HIGH. Pesan hanya dicetak ketika keadaan berubah, sehingga layar tidak dipenuhi teks yang sama.
Mengapa LED tidak langsung padam?
HC-SR501 umumnya memiliki pengatur sensitivitas dan lama keluaran aktif, serta jumper pemicu ulang. Modul dapat menahan HIGH beberapa saat setelah gerakan berhenti. Pada mode pemicu ulang, gerakan berikutnya dapat memperpanjang waktu aktif. Kenali pengatur modul milikmu dan ubah sedikit demi sedikit; jangan memaksa putaran sampai melewati batasnya.
Saat hasilnya membingungkan
Diamkan sensor selama penyesuaian awal dan hindari menggerakkan modulnya. Jangan arahkan ke sinar matahari langsung atau sumber panas yang berubah-ubah. Jika LED terus menyala, tunggu sesuai setelan waktu modul sebelum menyimpulkan rangkaiannya salah.
Latihan dan rujukan
Bandingkan berjalan melintasi sensor dengan berdiri diam di depannya. Catat berapa lama LED tetap menyala setelah gerakan berhenti. Penjelasan tambahan tersedia pada panduan PIR dengan Arduino dari Adafruit.