Lompat ke konten Lompat ke sidebar Lompat ke footer

Pembahasan Sensor PIR Lengkap

Sensor PIR
 

Sensor PIR (Passive InfraRed) merupakan sebuah sensor yang digunakan untuk mendeteksi pergerakan. Karena itu sensor PIR ini disebut sebagai sensor gerakan / motion sensor. Jadi sensor PIR ini digunakan untuk mendeteksi apakah ada pergerakan manusia di sekitar jangkauan dari sensor ini.


Cara Kerja Sensor

Jadi prinsip kerja dari sensor ini adalah menerima pancaran cahaya pasif-infrared dari setiap benda yang terdeteksi olehnya. Oleh karena itu sensor ini dapat mendeteksi gerakan karena pancaran cahaya infrared yang dikeluarkan oleh setiap benda ataupun mahluk hidup. 

Jadi kesimpulannya sensor PIR ini hanya menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dan mahluk hidup seperti terlihat pada gambar di bawah.

Cara kerja sensor PIR

Lalu Mengapa sensor PIR hanya bereaksi pada tubuh manusia ? 

Hal tsb disebabkan karena adanya IR Filter (Filter pada sensor) yang menyaring panjang gelombang sinar inframerah pasif. IR Filter sensor PIR ini menyaring panjang gelombang sinar inframerah pasif antara 8 sampai 14 mikrometer.

Sementara itu panjang gelombang yang dihasilkan dari tubuh manusia antara 9 sampai 10 mikrometer.

Inilah mengapa sensor PIR dapat mendeteksi pergerakan manusia yang masuk pada jangkauan dari sensor ini.


Bagian-Bagian Sensor PIR

Bagian Sensor PIR

  1. Pengatur Waktu Jeda
    Maksud dari waktu jeda adalah setelah sensor ini mendeteksi adanya benda dan mengeluarkan sinyal HIGH. Untuk mengatur waktu jeda tsb kita dapat memutar tuas ke kanan atau ke kiri.

  2. Pengatur Tingkat Sensitivitas Sensor
    Jadi dengan memutar tuas tsb ke kanan dan ke kiri kita dapat menentukan jarak jangkauan dari sensor PIR ini.

  3. Pengatur Jumper 
    Untuk mengatur output dari pin digital.

  4. IC BISS0001 
    IC ini merupakan otak atau controler darin sensor.

  5. Input Sensor 
    Merupakan kaki input sensor dengan tegangan input antara 3 - 12 VDC.

  6. Output Sensor
    Output dari sensor ini adalah sinya digital yaitu HIGH atau LOW.

  7. Ground :
    Kaki Ground Hubungkan dengan ground (GND) dari mikro kontroler

  8. Dioda Pengaman
    Mengamankan sensor apabila terjadi salah dalam menyambungkan antara VCC dengan GND.

  9. Regulator 3VDC
    Untuk menstabilkan tegangan menjadi 3V DC


Aplikasi Sensor PIR

Sensor PIR ini banyak diaplikasikan pada peralatan pengamanan rumah atau bangunan seperti Alarm rumah, alarm anti maling, sensor gerak basis arduino dan sebagainya.  

Rangkaian Sensor PIR

Rangkaian di atas merupakan rangkaian untuk sensor PIR sebagai alarm rumah / alarm anti maling dan sebagainya.


Alat dan Bahan

  1. Arduino

  2. Buzzer 5 VDC

  3. LCD + Module I2C

  4. Sensor PIR


Rangkaian

Sensor PIR
  • Output  : Pin D6 Arduino
  • Input    : 5V 
  • GND     : Ground

LCD + Module I2C
  • SCA  : A4
  • SCL  : A5
  • GND : GND Arduino
  • VCC  : 5V Arduino

Buzzer 5V
  • Output : D7
  • Input   : 5V Arduino

Jadi secara sederhana cara kerjanya adalah ketika sensor mendeteksi adanya pergerakan maka sensor akan mengeluarkan output HIGH. Output tsb yang akan diproses oleh arduino sehingga alarm akan menyala dan LCD juga akan membuat notifikasi "alarm menyala".


Kode Arduino

// Kode Arduino untuk sensor PIR
// www.TeknikElektro.com


#include<Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16, 2);


int WaktuKalibrasi = 10;
int PinSensorPIR = 6;
int PinBuzzer = 7;


void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
lcd.begin();
lcd.backlight();


pinMode (PinSensorPIR, INPUT);
pinMode (PinBuzzer, OUTPUT);
digitalWrite(PinSensorPIR, LOW);


lcd.setCursor(1,0);
lcd.print("Sedang Kalibrasi");
delay(500);


lcd.setCursor(0,1);
lcd.print("Sensor.....");




Serial.println("Please wait, now calibrating the sensor....");
for(int i = 0; i <= WaktuKalibrasi; i++)
{
Serial.print(((i*100)/WaktuKalibrasi));
Serial.print("% ");
lcd.setCursor(12,1);
lcd.print(((i*100)/WaktuKalibrasi));
lcd.print("%");
Serial.println("Selesai.....");
delay(1000);
}
Serial.println("Kalibrasi Sensor Selesai");
Serial.println("** SENSOR AKTIF **");
delay(50);


lcd.clear();
lcd.setCursor(1,0);
lcd.print(" Selesai ");
delay(500);


lcd.setCursor(0,1);
lcd.print(" SENSOR AKTIF! ");
delay(2000);


}


void loop()
{
// put your main code here, to run repeatedly:
if(digitalRead(PinSensorPIR) == HIGH)
{
digitalWrite(PinBuzzer, HIGH);
Serial.println("----------------------------");
Serial.println("** ALARM! MALING **");
Serial.println("----------------------------");
Serial.println("");
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" ALARM! ALARM! ");
lcd.setCursor(0,1);
lcd.print("ADA MALING!");

delay(10000);
}

else
{
digitalWrite(PinBuzzer, LOW);
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" KEADAAN ");
lcd.setCursor(0,1);
lcd.print(" AMAN ");

delay(10000);
}
}


Penjelasan Coding 

Pada coding paling atas merupakan inisialisasi komponen dimana menyebutkan semua komponen yang digunakan serta sambungan pin ke arduino. Kemudian juga library yang digunakan. 
  • Tanda // merupakan coding komentar sehingga tidak dibaca oleh arduino.
  • Pada coding paling atas terdapat tanda #include<Wire.h> dan #include <LiquidCrystal_I2C.h> , itu merupakan tanda library dimana kita menggunakan library tsb (library I2C dan Wire).
  • Kemudian tulisan LiquidCrystal_I2C lcd(0x27, 16, 2); merupakan coding untuk menyatakan bahwa kita menggunakan LCD 16 x 2.
  • int WaktuKalibrasi = 10;
    Merupakan tanda bahwa waktu kalibrasi sensor sebesar 10 detik.(Berdasarkan datasheet sensor harus didiamkan selama 10 detik sebelum digunakan).
  • int PinBuzzer = 7;
    Menyatakan bahwa Buzzer / alarm dihubungkan di Pin Digital 7 (D7) Arduino
  • int PinSensorPIR = 6;
    Menyatakan bahwa Sensor PIR dihubungkan di Pin Digital 6 (D6) Arduino
void setup()
  • Serial.begin(9600); merupakan kode untuk memanggil serial monitor pada arduino. 
  • lcd.begin(); merupakan kode untuk memanggil lcd
  • Pin Mode (); merupakan tanda kita menyatakan komponen yang terhubung ke arduino sebagai INPUT atau OUTPUT.  

    INPUT maksudnya adalah komponen yang memberikan sinyal ke arduino (biasanya berupa sensor) dan sinyal tsb akan diproses oleh arduino sesuai dengan program yang ditanamkan.

    OUTPUT maksudnya adalah komponen yang dikendalikan oleh arduino sesuai dengan program / coding yang ditanam

  • for(int i = 0; i <= WaktuKalibrasi; i++)
    {
    xxxxxx
    }
    Merupakan coding untuk menghitung 1 sampai 10 sebelum sensor aktif.

  • lcd.setCursor (x,x) merupakan coding untuk menentukan posisi tulisan dimana baris ke berapa dan kolom ke berapa.
  • lcd.print( ) merupakan perintah untuk membuat tulisan di lcd 16 x 2 tsb.

Void loop();
void loop merupakan coding yang akan berulang secara terus menerus dan tidak akan pernah berhenti.
  • Pada void loop terlihat hanya ada dua perintah yaitu If dan Else.
  • if(digitalRead(PinSensorPIR) == HIGH)
    {
    digitalWrite(PinBuzzer, HIGH);
    lcd.setCursor(1,0);
    lcd.print(" ALARM! ALARM! ");
    lcd.setCursor(0,1);
    lcd.print("ADA MALING!");
    }
    Maksud dari kode tsb adalah jika sensor pir mendeteksi ada benda (sensor tsb akan mengeluarkan sinyal HIGH) maka buzzer akan berbunyi dan lcd akan mengeluarkan tulisan "alarm! ada maling!"
  • else
    {
    digitalWrite(PinBuzzer, LOW);
    lcd.setCursor(1,0);
    lcd.print(" Keadaan ");
    lcd.setCursor(0,1);
    lcd.print("AMAN");
    }
    Maksud dari kode tsb adalah jika tidak ada terdeteksi gerakan maka alarm akan mati dan lcd mengeluarkan tulisan "keadaan aman"

1 komentar untuk "Pembahasan Sensor PIR Lengkap"

  1. bagaimana cara modifikasi PIR sensor agar bisa lebih jauh deteksinya.. misalnya PIR sensor diaplikasikan didalam lorong gudang dengan ketinggian 12 meter dan satu arah (180 derajat)
    Mohon bantuannya...

    BalasHapus

Mohon berkomentar dengan baik dan sopan.

- Admin berhak menghapus komentar yang tidak pantas.
..(Mengandung kata kasar dan SARA).
- Dilarang menaruh Link di kolom komentar.
- Dilarang SPAM

Terimakasih sudah berkunjung.....
Mari Berdiskusi di Kolom Komentar......