Arduino - Sensor PIR

Os sensores PIR permitem sentir o movimento. Eles são usados ​​para detectar se um humano entrou ou saiu do alcance do sensor. Eles são comumente encontrados em aparelhos e dispositivos usados ​​em casa ou para empresas. Eles são freqüentemente referidos como sensores PIR, "infravermelho passivo", "piroelétrico" ou "movimento infravermelho".

A seguir estão as vantagens dos sensores PIR -

  • Pequeno em tamanho
  • Grande alcance de lente
  • Fácil de interface
  • Inexpensive
  • Low-power
  • Fácil de usar
  • Não se desgasta

Os PIRs são feitos de sensores piroelétricos, uma lata redonda de metal com um cristal retangular no centro, que pode detectar níveis de radiação infravermelha. Tudo emite radiação de baixo nível e, quanto mais quente alguma coisa, mais radiação é emitida. O sensor em um detector de movimento é dividido em duas metades. Isso é para detectar movimento (mudança) e não os níveis médios de IR. As duas metades são conectadas de modo que se cancelem. Se metade vê mais ou menos radiação infravermelha do que a outra, a saída oscila para cima ou para baixo.

Os PIRs têm configurações ajustáveis ​​e têm um cabeçalho instalado nos blocos de aterramento / saída / energia de 3 pinos.

Para muitos projetos ou produtos básicos que precisam detectar quando uma pessoa saiu ou entrou na área, os sensores PIR são ótimos. Observe que os PIRs não informam o número de pessoas ao redor ou sua proximidade do sensor. A lente é frequentemente fixada a uma certa distância e às vezes são acionadas pelos animais de estimação da casa.

Componentes necessários

Você precisará dos seguintes componentes -

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

Procedimento

Siga o diagrama do circuito e faça as conexões conforme mostrado na imagem abaixo.

Esboço

Abra o software Arduino IDE em seu computador. A codificação na linguagem Arduino controlará seu circuito. Abra um novo arquivo de esboço clicando em Novo.

Código 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);
      }
   }
}

Código a ser anotado

O sensor PIR possui três terminais - V cc , OUT e GND. Conecte o sensor da seguinte forma -

  • Conecte o + V cc a + 5v na placa Arduino.
  • Conecte OUT ao pino digital 2 na placa Arduino.
  • Conecte GND com GND no Arduino.

Você pode ajustar a sensibilidade do sensor e o tempo de atraso por meio de dois resistores variáveis ​​localizados na parte inferior da placa do sensor.

Assim que o sensor detectar qualquer movimento, o Arduino enviará uma mensagem pela porta serial para dizer que um movimento foi detectado. O movimento de detecção PIR irá atrasar um certo tempo para verificar se há um novo movimento. Se nenhum movimento for detectado, o Arduino enviará uma nova mensagem dizendo que o movimento foi encerrado.

Resultado

Você verá uma mensagem na porta serial se um movimento for detectado e outra mensagem quando o movimento parar.