PIR (Passive InfraRed) adalah infrared passive yang dapat digunakan untuk mendeteksi keberadaan pergerakan manusia binatang dll, sensor pir hanya mendeteksi pergerakan bukan keberadaan sesuatu jadi jika objek tersebut diam tidak akan terdeteksi oleh sensor pir, pir hanya dap at mendeteksi satu titik jadi dibutuhkan banyak pir untuk mendeteksi banyak titik gerakan objek.
pir menjangkau kurang lebih 10 meter dengan sudut 15 derajat. pir sensor kita jadikan saklar lampu rumah kita berdasarkan gerakan tangan atau pun gerakan kaki bisa juga untuk project lain yang membutuhkan pendeteksi gerakan objek.
pir memiliki 3pin, pir yang aku punya pin 1 (sebelah kiri) adalah 5v, pin 2 (tengah) adalah out dan pin 3 (kanan) adalah GND (ground). hubungkan pin satu ke pin 5v atau bisa juga hubungkan pin 5v ke lubang + pada breadboard masukkan pin 1 pir ke lubang + breadboard, masukan pin 2 pir kedalam pin 2 arduino (saya menggunakan arduino uno), hubungkan pin 3 pir ke pin GND arduino atau bisa juga hubungkan pin GND arduino ke lubang - breadboard dan hubungkan pin 3 pir ke lubang - breadboard, pada led hubungkan anode dengan pin 3 arduino.
Buat sketch di arduino IDE tulis seperti source code dibaris paling bawah dari tulisan ini. demikian tulisan gaje saya semoga bisa memberikan inspirasi.
|
led mati setelah mendeteksi gerakan kedua |
|
gambar pir |
|
led menyala setelah mendeteksi gerakan |
// mendefinisikan PIR sebagai integer 2
#define PIR 2
// mendefinisakan LED sebagai integer 3
#define LED 3
int s,a; // membuat variabel s dan a
//variabel s untuk menampung hasil sensor, sedangkan var a untuk perulangan ketika //menyiapkan sensor pir
boolean dipakai=false; // variabel untuk menandai hasil sensor pir pernah dipakai
boolean pernah = false; // untuk mengeliminasi hasil sensor yang kedua dalam satu gerakan
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // menginiasiasi untuk digunakan komunikasi antara arduino dengan pc
pinMode(LED, OUTPUT); //set mode pin sebagai output digital
pinMode(PIR, INPUT); //set mode pin sebagai input digital
digitalWrite(LED, LOW);
Serial.print("menyiapkan pir ");
for(a=1; a < 8; a++){
delay(1000);
Serial.print(a);
Serial.print(".");
}
Serial.println("selesai");
}
void loop() {
// put your main code here, to run repeatedly:
s = digitalRead(PIR); // membaca sensor pir
if(s== HIGH && !pernah){
pernah = !pernah;
Serial.print("objek bergerak... ");
Serial.println(millis()/1000);
delay(1000);
if(!dipakai){
analogWrite(LED, 255);
dipakai=!dipakai;
}else if(dipakai){
analogWrite(LED, 0);
dipakai=!dipakai;
}
}
if(s==LOW && pernah){
pernah=!pernah;
Serial.print("objek diam... ");
Serial.println(millis()/1000);
delay(1000);
}
}
1 komentar:
Artikel tidak sesuai dengan judul
Posting Komentar