sábado, 17 de dezembro de 2016

Sensor PIR (Passive Infrared)

Sensor PIR (Passive Infrared)




fonte: próprio autor


O modulo sensor de presença infravermelho trata-se de um conjunto compacto de componentes que permitem o acionamento de um sensor de presença, e o usuário tem controle de ajustes sobre tempo e a sensibilidade do dispositivo.

fonte: https://learn.adafruit.com

No ajuste de sensibilidade do sensor o usuário pode determinar à qual distância o objeto deve ser detectado, dentro de distâncias entre 3 a 7 metros e o tempo acionamento que pode variar de 5 a 200 segundos. Esses ajustes podem se conseguidos por meio de potenciômetros localizados na base do sensor.


fonte: próprio autor

O modulo deve receber alimentação entre 4,5V e 20V em CC. De simples ligação, conta com somente um pino que envia ao microcontrolador um sinal Alto (HIGH) ao detectar movimento e sinal Baixo (LOW) quando nenhum movimento é detectado.


fonte: https://www.robotics.org.za

Utilizando o modulo PIR

Para a realização dos projetos apresentados, deve-se ter a mão os seguintes componentes:

1 Arduino Uno (ou compatível)
1 Sensor PIR
2 Leds coloridos
1 Buzzer 5Vcc
3 resistores 220 ohms
cabos jumpers
protoboard (matriz de contatos)

Esquema de montagem


fonte: próprio autor




fonte: próprio autor

Com a montagem feita, copie e cole o código abaixo e verifique o funcionamento.

O código fonte

 /** Código **/
// Elaborado por Tony Emerson Marim em 17/12/2016.
/** mecatronizando@gmail.com **/
/** Alarme com sensor PIR e LEDs**/


//Variáveis digitais.
int pinBuzzer = 3;
int pinSensorPIR = 7;
int pinLedvm = 8;
int pinLedam = 9;
int SensorPIR = 0;
 
void setup() {
  Serial.begin(9600); //Inicializando o serial monitor
 
  //Definido pinos como de entrada ou de saída
  pinMode(pinBuzzer,OUTPUT);
  pinMode(pinSensorPIR,INPUT);
  pinMode(pinLedvm,OUTPUT);
  pinMode(pinLedam,OUTPUT);
}
 
void loop() {  
  //Lendo o valor do sensor PIR. 
  
  SensorPIR = digitalRead(pinSensorPIR);
   
  Serial.print("Valor do Sensor PIR: "); //1 quando detecta algum movimento e 0 quando não detecta. 
  Serial.println(SensorPIR);
   
  //Verificando detecção de movimentos
  if (SensorPIR == 1) {
    Alarmeacionado();
  } else {
    Alarmedesligado();
  }    
}
 
void Alarmeacionado() {
  //Ligando o led
  digitalWrite(pinLedvm, HIGH);
  delay(500);
  digitalWrite(pinLedvm, LOW);
  delay(500);
  digitalWrite(pinLedam, HIGH);
  delay(500);
  digitalWrite(pinLedam, LOW);
  delay(500);
   
  //Ligando o buzzer com uma frequencia de 600 hz.
  tone(pinBuzzer,600);
   
  delay(2000); //tempo que o led fica acesso e o buzzer toca
   
  Alarmedesligado();
}
 
void Alarmedesligado() {
  //Desligando o led
  digitalWrite(pinLedvm, LOW);
  digitalWrite(pinLedam, LOW);
   
  //Desligando o buzzer
  noTone(pinBuzzer);
}

No código é possível observar o comportamento do sensor pro meio do monitor serial da IDE do Aduino.


fonte: próprio autor

No vídeo abaixo é demonstrado o funcionamento do nosso projeto.


Curtiu? Compartilhe, comente, use nossa FanPage!
Assine o canal!
Caso seja necessário o projeto completo pode ser baixado por esse LINK!


Bons estudos!

Nenhum comentário:

Postar um comentário