Sensor PIR berfungsi untuk mendeteksi pergerakan,
biasanya untuk mendeteksi apakah terdapat manusia yang masuk atau keluar dari
jangkauan sensor. Sensor PIR ini kecil, murah, low-power, mudah digunakan dan
tahan lama.
PIR pada dasarnya terbuat dari sensor pyroelectric
(yang dapat dilihat didalam kubah berwarna putih dengan kristal kotak
ditengahnya) yang dapat mendeteksi inframerah.
Selain dari sensor pyroelectric, terdapat rangkaian
pembantu seperti resistor dan kapasitor.
Untuk proyek sederhana dimana sensor PIR digunakan
untuk mendeteksi apakah seseorang telah keluar atau masuk jangkauan, sensor PIR
sangat bagus. PIR membutuhkan daya yang kecil, murah, jangkauannya luas, dan
mudah digunakan. Perlu diingat sensor PIR tidak dapat mendeteksi berapa banyak
orang yang berada di jangkauan atau seberapa dekat mereka dengan sensor PIR.
Cara Kerja Sensor PIR
Sensor PIR sendiri terdapat dua slot di dalamnya, setiap slot terbuat
dari material yang sensitif terhadap inframerah. Lensa berbentuk kubah tidak
banyak mengambil peran dalam cara kerja sensor ini dan dapat kita lihat kedua
slot dapat “melihat” keluar melewati beberapa jarak (sensitifitas sensor).
Ketika sensor diam, kedua slot mendeteksi inframerah dalam jumlah yang sama.
Ketika tubuh hangat manusia atau makhluk hidup lewat, pertama-tama akan
memotong satu bagian dari sensor PIR yang menyebabkan perbedaan positive differential antara kedua
bagian. Ketika tubuh tersebut keluar dari jangkauan sensor, terjadi kebalikannya,
sensor akan membuat perubahan negative
differential. Perubahan pulsa inilah yang dideteksi sensor.
Menghubungkan Sensor PIR
Kebanyakan modul sensor PIR memiliki 3 pin koneksi di belakang sensor
bagian atas atau bawah. Pinoutnya bisa saja berbeda setiap modul. Pada artikel
kali ini, saya akan membahas sensor PIR HC-SR501. Pin pertama adalah ground,
kemudian ada output, dan Vcc. Vcc biasanya dihubungkan dengan tegangan 3-5 VDC,
tetapi setelah saya melakukan percobaan, lebih baik Vcc dihubungkan ke tegangan
5 VDC. Untuk menghubungkan pin-pinnya kamu membutuhkan 3 kabel female to male
atau female to female.
Berikut adalah gambar pinout sensor PIR HC-SR501.
Uji Coba Sensor PIR dengan Arduino Uno dan Motor Servo
Uji coba ini bertujuan untuk mengatur putaran motor servo berdasarkan
deteksi pada sensor PIR. Jika sensor PIR mendeteksi adanya manusia, maka servo
akan berputar 180⁰, dan jika
sensor PIR sudah tidak mendeteksi adanya manusia, maka servo akan kembali ke
posisi awal.
Program Arduino Uno :
#include <Servo.h>
Servo myServo;
int angle = 0;
int pirPin = 2;
int pirState = 0;
int val = 0;
void setup() {
// put your
setup code here, to run once:
myServo.attach(9);
pinMode(2,
INPUT);
Serial.begin(9600);
}
void loop() {
// put your
main code here, to run repeatedly:
val =
digitalRead(pirPin);
if(val ==
HIGH){
if
(pirState == LOW) {
// we
have just turned on
myServo.write(180);
delay(10);
pirState
= HIGH;
}
}else{
if
(pirState == HIGH){
// we
have just turned of
myServo.write(0);
delay(10);
pirState
= LOW;
}
}
}
Pertama kita menambahkan header untuk menggerakkan
motor servo dan membuat sebuah objek motor servo.
#include <Servo.h>
Servo myServo;
Setelah itu deklarasi variabel untuk sudut, pin yang
dipakai sensor PIR, status sensor, status sensor referensi.
int angle = 0;
int pirPin = 2;
int pirState = 0;
int val = 0;
Tentukan pin yang akan dipakai motor servo dan kita
atur pin sensor PIR sebagai input.
myServo.attach(9);
pinMode(2, INPUT);
Pada main loop, terdapat program untuk membaca nilai
sensor PIR, kemudian hasilnya disimpan di variabel val.
val = digitalRead(pirPin);
Jika hasilnya HIGH, maka servo akan berputar 180⁰.
if(val == HIGH){
if
(pirState == LOW) {
// we
have just turned on
myServo.write(180);
delay(10);
pirState
= HIGH;
}
}
Jika hasilnya LOW, maka servo akan kembali ke posisi 0⁰.
else{
if
(pirState == HIGH){
// we
have just turned of
myServo.write(0);
delay(10);
pirState
= LOW;
}
}
Berikut video percobaan sensor PIR dan motor servo
menggunakan Arduino Uno.
Hallo ingin bertanya, kalau ingin mendeteksi gerakan pada sensor PIRnya setiap 1 jam sekali (sehingga pirnya juga bergerak setiap 1 jam sekali sesuai PIR) yang diubah pada codingan itu delay yang mananya ya? terima kasih
ReplyDelete