PIR atau passive infrared merupakan salah satu aplikasi inframerah untuk sensor. Sensor ini berfungsi mendeteksi adanya pergerakan manusia dari perubahan pancaran gelombang inframerah dari tubuh manusia. Ketika manusia bergerak maka pancaran gelombangnya akan berubah, perubahan nilai ini akan menyebabkan sensor PIR aktif dan mengirimkan sinyal output.
Aplikasi sensor PIR bisa ditemukan dalam bentuk pintu otomatis di pusat perbelanjaan/hotel dan gedung2 lainnya. Pintu akan membuka otomatis saat sensor menangkap ada perubahan panjang gelombang inframerah. Dan akan menutup ketika sensor tidak lagi menangkap perubahan panjang gelombang.
Seperti halnya devices berbasis inframerah lainnya, PIR memiliki kelemahan yaitu bukan perangkat omnidirectional sehingga tidak mampu mendeteksi benda yang berada di belakangnya. Tidak seperti bluetooth yang mampu mendeteksi semua benda disekelilingnya dalam cakupan tertentu.
Untuk mendeteksi semua benda yang ada disekitarnya diperlukan beberapa sensor PIR yang dihadapkan ke segala arah. Meskipun begitu, sensor PIR memiliki angle view sampai sekitar 110 derajat dari face sensornya. PIR juga dapat digunakan sebagai pendeteksi maling, jika dipasang di tempat2 yang beresiko, tetapi masih perlu diteliti kembali apakah penggunaannya bisa efektif, jangan sampai ada alarm palsu gara2 ada kucing lewat didepan sensor.
Supply tegangan sensor ini antara 3-9V sehingga bisa langsung menggunakan tegangan vcc 5V dari arduino atau board mikrokontroller lainnya. Terdapat tiga pin berupa VCC, Ground dan output untuk dihubungkan ke mikro. Contoh penggunaan sensor PIR menggunakan arduino dapat dilihat dari kode berikut yang diubah dari contoh kode PIR sensor di arduino playground dengan meniadakan alarm buzzer dan hanya menggunakan LED untuk indikator adanya gerakan.
Saat kondisi diam, arduino akan mengirimkan durasi kondisi diam pada serial monitor, begitu juga pada saat sensor mendeteksi adanya pergerakan. Serial.print(“x”) pada serial monitor digunakan untuk menandai lama pergerakan/tidak adanya pergerakan obyek yang dideteksi sensor.
int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON delay(300); if (pirState == LOW) { Serial.println(); Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); delay(300); if (pirState == HIGH){ Serial.println(); Serial.println("Motion ended!"); pirState = LOW; } } Serial.print("x"); }
gan jelaskan fungsi pin yang ada di sensor pir ini ??
gan jelaskan fungsi pin yang ada di sensor pir ini ??
thanks buat postingannya gan, ngabantu banget (y)
sukses trus