Arduino - Sensor PIR

Sensor PIR memungkinkan Anda merasakan gerakan. Mereka digunakan untuk mendeteksi apakah manusia telah masuk atau keluar dari jangkauan sensor. Mereka biasanya ditemukan di peralatan dan gadget yang digunakan di rumah atau untuk bisnis. Mereka sering disebut sebagai sensor PIR, "Passive Infrared", "Pyroelectric", atau "IR motion".

Berikut adalah keunggulan Sensor PIR -

  • Berukuran kecil
  • Rentang lensa yang luas
  • Antarmuka yang mudah
  • Inexpensive
  • Low-power
  • Mudah digunakan
  • Jangan sampai rusak

PIR terbuat dari sensor piroelektrik, kaleng logam bundar dengan kristal persegi panjang di tengahnya, yang dapat mendeteksi tingkat radiasi infra merah. Semuanya memancarkan radiasi tingkat rendah, dan semakin panas sesuatu, semakin banyak radiasi yang dipancarkan. Sensor dalam detektor gerak dibagi menjadi dua bagian. Ini untuk mendeteksi gerakan (perubahan) dan bukan tingkat IR rata-rata. Kedua bagian tersebut dihubungkan sehingga saling meniadakan. Jika satu-setengah melihat lebih banyak atau lebih sedikit radiasi IR daripada yang lain, output akan berayun tinggi atau rendah.

PIR memiliki pengaturan yang dapat disesuaikan dan memiliki header yang dipasang di bantalan 3-pin ground / out / power.

Untuk banyak proyek atau produk dasar yang perlu mendeteksi ketika seseorang meninggalkan atau memasuki area, sensor PIR sangat bagus. Perhatikan bahwa PIR tidak memberi tahu Anda jumlah orang di sekitar atau kedekatan mereka dengan sensor. Lensa sering kali dipasang pada sapuan tertentu di kejauhan dan terkadang disetel oleh hewan peliharaan di rumah.

Komponen Diperlukan

Anda akan membutuhkan komponen berikut -

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × PIR Sensor (MQ3)

Prosedur

Ikuti diagram sirkuit dan buat koneksi seperti yang ditunjukkan pada gambar di bawah ini.

Sketsa

Buka software Arduino IDE di komputer Anda. Pengkodean dalam bahasa Arduino akan mengontrol sirkuit Anda. Buka File sketsa baru dengan mengklik Baru.

Kode Arduino

#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;

void setup() {
   Serial.begin(9600);
   pinMode(pirPin, INPUT);
}

void loop() {
   PIRSensor();
}

void PIRSensor() {
   if(digitalRead(pirPin) == HIGH) {
      if(lockLow) {
         PIRValue = 1;
         lockLow = false;
         Serial.println("Motion detected.");
         delay(50);
      }
      takeLowTime = true;
   }
   if(digitalRead(pirPin) == LOW) {
      if(takeLowTime){
         lowIn = millis();takeLowTime = false;
      }
      if(!lockLow && millis() - lowIn > pause) {
         PIRValue = 0;
         lockLow = true;
         Serial.println("Motion ended.");
         delay(50);
      }
   }
}

Kode untuk Dicatat

Sensor PIR memiliki tiga terminal - V cc , OUT dan GND. Hubungkan sensor sebagai berikut -

  • Hubungkan + V cc ke + 5v pada papan Arduino.
  • Hubungkan OUT ke pin digital 2 pada papan Arduino.
  • Hubungkan GND dengan GND di Arduino.

Anda dapat mengatur sensitivitas sensor dan waktu tunda melalui dua resistor variabel yang terletak di bagian bawah papan sensor.

Setelah sensor mendeteksi gerakan apa pun, Arduino akan mengirim pesan melalui port serial untuk mengatakan bahwa gerakan terdeteksi. Gerakan indra PIR akan menunda untuk waktu tertentu untuk memeriksa apakah ada gerakan baru. Jika tidak ada gerakan yang terdeteksi, Arduino akan mengirimkan pesan baru yang mengatakan bahwa gerakan telah berakhir.

Hasil

Anda akan melihat pesan di port serial Anda jika gerakan terdeteksi dan pesan lain ketika gerakan berhenti.