ESTUDANDO O MUNDO ARDUINO:E ANTECIPANDO O FUTURO:

SENSOR DE PRESENÇA P.I.R.

acessar com  www.ebanataw.com.br/arduino/expPIR.htm

O sensor de presença tipo PIR (Passive Infrared Sensor, ou Sensor Infravermelho Passivo) serve para detectar movimentos no ambiente. Instalado dentro de uma capa protetora, uma lente fresnel que melhora a sensibilidade do sensor.

Ele fica o tempo todo “vendo” os objetos e quando ocorre uma variação no sinal infravermelho a saída é acionada por um determinado tempo. A lente fresnel tem a função de "ampliar" o campo de visão do sensor, condensando a luz.

Na parte de baixo encontramos os 2 pinos de alimentação (4,5 a 20 Volts ) e sinal, os potenciômetros para ajuste da sensibilidade e tempo de acionamento da saída, e também o jumper que controla o modo de operação do trigger (gatilho).

 

Atenção quando for fazer as conexões pois alguns módulos apresentam os pinos Vcc e GND invertidos. Na dúvida, consulte o datasheet do módulo ou verifique as indicações na placa.

Nesse módulo, praticamente não há necessidade de programação no Arduino, já que a saída é colocada em HIGH (ALTO), quando um objeto for detectado, e permanece assim pelo tempo que configurarmos no potenciômetro. Basta então definirmos o que será feito com as saídas do Arduino, isto é, se vai acionar algum alarme.

No loop do programa, o valor lido da porta 3 (ligada ao pino de sinal do sensor), é constantemente checado, e caso ocorra movimentação em frente ao sensor, o led vermelho ligado à porta 5 é acionado. Caso contrário, é o led azul ligado à porta 6 que permanece acionado.

 

// Programa : Sensor de presenca com modulo PIR

// Autor : Arduino e Cia

 

int pinoledverm = 5; //Pino ligado ao led vermelho

int pinoledazul = 6; //Pino ligado ao led azul

int pinopir = 3;  //Pino ligado ao sensor PIR

int acionamento;  //Variavel para guardar valor do sensor

 

void setup()

{

  pinMode(pinoledverm, OUTPUT); //Define pino como saida

  pinMode(pinoledazul, OUTPUT); //Define pino como saida

  pinMode(pinopir, INPUT);   //Define pino sensor como entrada

 

}

 

void loop()

{

 acionamento = digitalRead(pinopir); //Le o valor do sensor PIR

 if (acionamento == LOW)  //Sem movimento, mantem led azul ligado

 {

    digitalWrite(pinoledverm, LOW);

    digitalWrite(pinoledazul, HIGH);

 }

 else  //Caso seja detectado um movimento, aciona o led vermelho

 {

    digitalWrite(pinoledverm, HIGH);

    digitalWrite(pinoledazul, LOW);

 }

}

 

NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.


ET-18\RMW\arduino\mascara.htm em 08/02/2018, atualizado em 02/01/2020 .