Arduino com sensor de movimento PIR

Eletrônica

Neste projeto, você criará um circuito simples com um sensor de movimento Arduíno e PIR que pode detectar movimento. Um LED acenderá quando for detectado movimento.

O sensor de movimento PIR é ideal para detectar movimento. PIR significa "Infravermelho Passivo". Basicamente, o sensor de movimento PIR mede a luz infravermelha dos objetos em seu campo de visão.

Portanto, ele pode detectar movimento com base nas alterações da luz infravermelha no ambiente. É ideal detectar se um humano se moveu dentro ou fora da faixa do sensor.

O sensor na figura acima possui dois potenciômetros integrados para ajustar o tempo de atraso (o potenciômetro à esquerda) e a sensibilidade (o potenciômetro à direita).

A fiação do sensor de movimento PIR em um Arduíno é bastante direta - o sensor possui apenas 3 pinos.

GND - conectar ao terra
OUT - conectar a um pino digital do Arduíno
5V - conecte a 5V





/*  
    Arduino with PIR motion sensor
    For complete project details, visit: http://RandomNerdTutorials.com/pirsensor
    Modified by Rui Santos based on PIR sensor by Limor Fried
*/
 
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
    }
  }
}






Fonte
https://randomnerdtutorials.com/arduino-with-pir-motion-sensor/
Mais Dicas