Mendeteksi Motion Menggunakan Sensor PIR dengan Arduino Uno

Overview

PIR Sensor, berfungsi untuk mendeteksi gerakan(motion), PIR singkatan dari Passive Infrared. Pada dasarnya PIR mengukur cahaya infrared di coverage area. Biasanya digunakan untuk mendeteksi gerakan manusia.

Range Cakupan dari sensor ini lumayan jauh, 6meter dan 70 derajat, dikarenakan didalam modul ini ada regulator 3.3v maka power supply bisa menggunakan 5-12volt. Jika mendeteksi pergerakan akan bernilai ‘1’ sedang jika tidak ada gerakan bernilai ‘0’.

Pada modul PIR ada 2 potensiometer, sebelah kiri untuk delay time dan sebelah kanan untuk sensitifitas.

Pinout:

GND – connect to ground
OUT – connect to an Arduino digital pin
5V – connect to 5V

Specifications
where to buy
what we need

Schematic


Program

int led = 13;                // the pin that the LED is atteched to
int sensor = 2;              // the pin that the sensor is atteched to
int state = LOW;             // by default, no motion detected
int val = 0;                 // variable to store the sensor status (value)

void setup() {
  pinMode(led, OUTPUT);      // initalize LED as an output
  pinMode(sensor, INPUT);    // initialize sensor as an input
  Serial.begin(9600);        // initialize serial
}

void loop(){
  val = digitalRead(sensor);   // read sensor value
  if (val == HIGH) {           // check if the sensor is HIGH
    digitalWrite(led, HIGH);   // turn LED ON
    delay(100);                // delay 100 milliseconds 
    
    if (state == LOW) {
      Serial.println("Motion detected!"); 
      state = HIGH;       // update variable state to HIGH
    }
  } 
  else {
      digitalWrite(led, LOW); // turn LED OFF
      delay(200);             // delay 200 milliseconds 
      
      if (state == HIGH){
        Serial.println("Motion stopped!");
        state = LOW;       // update variable state to LOW
    }
  }
}

 

Demonstration
Next Project

Leave a Reply

Your email address will not be published. Required fields are marked *