fbpx

Tutorial Cara Mendeteksi Gerakan Menggunakan Sensor PIR (HC-SR501) dan Arduino Uno

Sensor PIR (HC-SR501) digunakan untuk mendeteksi pergerakan yang ada di depannya. Sensor PIR (HC-SR501) terbuat dari bahan pyroelectric yang dapat mendeteksi radiasi sinar inframerah. Sensor PIR bekerja dengan cara menangkap pancaran infra merah, kemudian akan masuk melalui lensa Fresnel dan mengenai sensor pyroelektric, sinar infra merah mengandung energi panas membuat sensor pyroelektric dapat menghasilkan arus listrik. Arus listrik inilah yang akan menimbulkan tegangan dan dapat dibaca oleh mikrokontroler. Sensor PIR (HC-SR501) tersedia dalam bentuk modul seperti terlihat pada gambar di bawah ini.

Sensor ini dapat mendeteksi pergerakan objek sejauh 5-7 m dengan beamwidth (sudut) 110º. Sensor PIR memiliki 3 pin yaitu Vcc, Vout, dan GND). Pada tutorial kali ini sensor PIR digunakan untuk mendeteksi gerakan, apabila gerakan terdeteksi maka indikator LED akan aktif, sebaliknya jika sensor PIR tidak mendeteksi adanya gerakan maka LED tidak akan aktif. Untuk lebih memahami cara menggunakan sensor PIR marilah kita buat percobaan sederhana. Dalam percobaan ini membutuhkan:

Alat dan Bahan Percobaan HCSR501-Uno

  1. Arduino Uno
  2. Sensor PIR (HC-SR501)
  3. Resistor 220Ω
  4. LED
  5. Jumper secukupnya

Buatlah rangkaian seperti pada gambar dibawah ini dengan konfigurasi pin:

  •  VCC dihubungkan dengan 5v Arduino Uno.
  • Out dihubungkan dengan pin A0 Arduino Uno.
  • -GND dihubungkan dengan GND Arduino Uno.
  • LED dihubungkan dengan pin A1 Arduino Uno

Source Code HCSR501-Uno

Selanjutnya buka IDE Arduino Anda kemudian salin baris program  sebagai berikut:

int led = A1; // Deklarasi LED pada pin A1
int PIR = A0; // Deklarasi Pin Sensor PIR pada A0
int data = 0;       // variabel untuk menampung data PIR

void setup() {
pinMode(led, OUTPUT); //set pin A1 sbg output
pinMode(PIR, INPUT); // set pin A0 sbg input
Serial.begin(9600); //serial monitor
}

void loop(){
  data = digitalRead(PIR);               // baca nilai digital sensor
  Serial.print("Logic PIR: ");           // menampilkan nilai digital sensor pada serial monitor
  Serial.print(data);
  Serial.print(".\n");
  delay(1000);
  
  if (data == HIGH){                     // Instrukasi untuk mengaktifkan LED jika gerakan terdeteksi
  digitalWrite(led, HIGH);               // Mengaktifkan indikator LED
  Serial.println("Gerakan Terdeteksi");  
} 

  else if (data == LOW){                 // Instruksi untuk mematikan LED jika tidak terdeteksi adanya gerakan
  digitalWrite(led, LOW);                // Mematikan LED jika gerakan tidak terdeteksi
  Serial.println("Tidak ada gerakan");   
}
}

Upload sketch (program di atas) dengan menekan tombol upload atau melalui shortkey CTRL+U, pastikan pengaturan board pada Arduino Uno. Kemudian aktifkan tools ‘Serial Monitor’ di Arduino IDE melalui menu tools | Serial Monitor. Pastikan kabel USB antara laptop dan Arduino tetap terpasang. Setelah program selesa diunggah perhatikan nilai digital pada serial monitor.

Pada gambar di atas terlihat saat sensor PIR tidak mendeteksi adanya gerakan maka LED tidak aktif

Terlihat gambar di atas, saat sensor PIR mendeteksi adanya gerakan maka LED akan aktif.

Berdasarkan hasil percobaan di atas, maka hasil telah sesuai dengan instruksi di bawah ini.

if (data == HIGH){                     // Instruksi untuk mengaktifkan LED jika gerakan terdeteksi
  digitalWrite(led, HIGH);               // Mengaktifkan indikator LED
  Serial.println("Gerakan Terdeteksi");  
} 

else if (data == LOW){                 // Instruksi untuk mematikan LED jika tidak terdeteksi adanya gerakan
digitalWrite(led, LOW);                // Mematikan LED jika gerakan tidak terdeteksi
Serial.println("Tidak ada gerakan");   
}

Demikian sedikit tutorial pada kesempatan kali ini. Program di atas dimaksudkan untuk mengendalikan LED untuk ON / OFF berdasarkan nilai digital yang dibaca Arduino dari sensor PIR. Saat sensor PIR mendeteksi adanya gerakan maka nilai digital yang terbaca oleh Arduino adalah HIGH atau logika 1, sementara saat sensor PIR tidak mendeteksi adanya gerakan maka nilai digital yang terbaca oleh Arduino adalah LOW atau logika 0. Nilai digital inilah yang digunakan sebagai parameter untuk mengendalikan LED. Jika hasil percobaan Anda sesuai dengan hasil di atas maka percobaan Anda berhasil, Anda dapat kembangkan sesuai dengan keinginan atau kebutuhan Anda. Selamat berkreasi.

About the Author