Sensor de Presença – HC-SR501

Sensores de presença ou movimento, conhecidos como sensores IR (infravermelho) ou PIR (Passive Infrared Sensor ou Pyroelectric Infrared Sensor), são sensores que detectam radiação emitida pelo corpo humano, por exemplo.

PIR01

O elemento sensor é vedado e oferece grande imunidade a umidade e temperatura e sua área exposta deixa passar somente radiação infravermelha. O circuito ao redor dá suporte a leitura do sensor e posterior conversão em um sinal digital. Portanto, na saída deste sensor teremos um nível alto, quando da detecção do movimento e um nível baixo em estado de repouso.

PIR - ElecFreaks
sensor piroelétrico – fonte http://www.elecfreaks.com

A lente (que cobre o elemento sensor) é do tipo Fresnel, feita de plástico, cuja função é ampliar o ângulo de detecção e concentração dos raios infravermelhos.

fonte http://www.fresnelfactory.com
fonte http://www.fresnelfactory.com

Pinos e Ajustes

Não é crítico mas requer um pouco de tempo para ajustar as suas necessidades.

Pinos:

  • 5V = ligar no pino 5V da placa Arduino
  • sinal = ligar em qualquer pino digital da placa Arduino
  • GND = ligar no pino GND da placa Arduino

Ajustes:

      • tempo (trimpot) = no sentido horário, aumenta o delay (tempo que o sinal ficará em nível alto) para aproximadamente 5 minutos e no sentido anti-horário para aproximadamente 5 segundos.
      • sensibilidade (trimpot) = no sentido horário, aumenta a distância de detecção para aproximadamente 7 metros e no sentido contrário para aproximadamente 3 metros.
      • trigger (jumper)
        low – não repetitivo:  quando alguém é detectado, um nível alto ficará presente no pino digital até que o tempo se esgote, daí o nível muda para baixo por aproximadamente 3 segundos, não aceitando novas detecções neste período.
        high – repetitivo: quando em nível alto, ficará neste estado enquanto o sensor detectar alguém no ambiente (dentro do tempo ajustado, porém o tempo será renovado a cada detecção) até que não haja movimento, daí alterando o nível para baixo por aproximadamente 3 segundos, não aceitando novas detecções neste período.

Um pouco confuso, não? 🙂 A melhor forma de entender estes ajustes é fazer experiências com a montagem sugerida mais adiante.

Montagem do circuito

Nos testes/experiências com este sensor, deixamos os trimpots posicionados no sentido máximo anti-horário e o jumper do modo trigger em high. A nossa sugestão é deixar inicialmente desta forma e ir ajustando conforme a sua necessidade.  O LED, neste período de ajuste, terá grande importância para nos orientar quando sensor estiver em nível alto. O pino de sinal do PIR está conectado ao pino digital 2 do Arduino e o LED está conectado ao pino 13 digital do Arduino através de um resistor de 220Ω.

PIR_protoboard PIR_esquematico   PIR_montagem

Exemplo

#define LED 13
#define PIR 2

void setup() {
   pinMode(LED, OUTPUT);
   pinMode(PIR, INPUT);
   delay(5000);
}

void loop() {
   byte leitura = digitalRead(PIR);
   digitalWrite(LED, leitura);
}

 

Deixe um comentário