terça-feira, outubro 06, 2020

Sensor de Presença (Movimento) por Infravermelho

Mais um sensor simples, barato, fácil de achar e fácil de usar.

O módulo PIR. A parte plástica são as lentes.
 Abaixo os potenciômetros de Tempo (esq) e Sensibilidade (dir)


Os sensores de presença por infravermelho, também chamados de PIR (passive infrared), são sensores que detectam luz infravermelha na frequência correspondente à temperatura de "animais de sangue quente" (normalmente estamos interessados em pessoas). É comum vermos esse tipo de sensor em alarmes e em lâmpadas automáticas.

Para sermos mais precisos, estes sensores detectar é uma mudança na radiação infravermelha, normalmente causada por movimento. O sensor possui dois detectores de infravermelho e a sua saída indica quando os dois detectores indicam níveis diferentes de radiação.

A "tampa" destes sensores são lentes para ampliar o ângulo de visão e concentrar (focar) as radiações nos detectores.

Existem muitas variações deste tipo de sensor, é importante você verificar as especificações do modelo que deseja usar. O sensor que eu vou usar tem as seguintes especificações:

  • Alimentação: 4,5 a 20V (vamos usar 5V)
  • Saída: nível alto (3,3V) indica detecção de presença
  • Sensibilidade controlável por um potenciômetro. Quanto maior a sensibilidade, maior o alcance de detecção (que pode chegar a 7 metros)
O comportamento da saída ao detectar um movimento depende de um jumper e um potenciômetro. O potenciômetro determina o tempo mínimo que a saída fica em nível alto após uma detecção (Tx), no caso deste modelo isso pode ser ajustado entre 2 e 200 segundos. Se o jumper estiver na posição L (non-retriggering) a saída ficará no nível alto exatamente este tempo mínimo, mesmo que outras detecções ocorram durante este tempo. Com o jumper na posição H (retriggering) as detecções quando a saída está alta irão reiniciar a contagem de tempo, estendendo o pulso.

O jumper estaria no alto à direita.

O mais comum é deixar o jumper na posição H (o meu módulo veio soldado assim, nem jumper tem). Desta forma a saída permanecerá alta enquanto não ficar sem movimento pelo tempo ajustado no potenciômetro.

Após a saída retornar ao nível baixo, as detecções são ignoradas por algum tempo (Ti). Normalmente este tempo é fixo (2,5 segundos neste modelo).

A montagem é trivial, basta tomar cuidado de conferir a pinagem do seu modelo:

Precisei retirar a tampa para conferir a pinagem


O software para teste no Arduino é o mesmo que usamos para o sensor de vibração:
/**
 * Teste do Sensor de Presença / Movimento
 * DQ - 04/10/20
 * https://dqsoft.blogspot.com
 */

// Conexões
const int pinBuzzer = 3;
const int pinSensor = 4;

// Iniciação
void setup() {
  Serial.begin(115200);
  pinMode (pinBuzzer, OUTPUT);
  digitalWrite (pinBuzzer, LOW);
  pinMode (pinSensor, INPUT);
}

// Laco eterno
void loop() {
  // Replica a saída do sensor no buzzer
  digitalWrite (pinBuzzer, digitalRead(pinSensor));
  // Dá um tempo entre as leituras
  delay (100);
}

Nenhum comentário: