Olá Garagistas! Neste tutorial nós vamos aprender a usar o sensor de movimento PIR. Para a demonstração, vamos usar um sistema com três saídas - Um som reproduzido por um alto-falante, um LED ligando e uma mensagem impressa no monitor serial.

Material Utilizado:

1 - Sensor de Movimento PIR

1 - Arduino Uno

1 - Alto falante

1 - LED

1 - resistor de 10KΩ , 1 - resistor de 330Ω e 1 - resistor 220Ω

1 - Protoboard

1.O Sensor de Movimento PIR

O sensor de movimento PIR (infravermelho passivo) é uma solução fácil e barata para detecção de movimento. Você pode usá-lo para automatizar um processo como acender uma lâmpada ou abrir uma porta quando o sensor identificar a presença de alguém, ou você pode construir um sistema que avisa quando alguém está chegando ou já chegou e até mesmo para sistemas de segurança. Na verdade, você pode descobrir muitas maneiras de integrar esta ferramenta ao seu sistema.

Este sensor é sensível à luz infravermelha, ou em outras palavras, ao calor. É lógica de funcionamento é simples, capta duas imagens de calor em dois sensores diferentes, em tempos diferentes, quando eles diferem é porque algo mudou.

O sensor é acionado em nível lógico baixo, ou seja, 0 Volts. O pino de sinal funciona com uma lógica chamado coletor aberto, isso significa que ele não está conectado a nada e por isso você não pode prever o seu estado lógico. Para evitar o mau funcionamento é necessário conectar um resistor de pull-up, como mostraremos na seção seguinte, de forma a garantir que, quando não há movimento o nível lógico do sensor ficar alto.

2.Montagem

3. Sketch

//Declaração das variáveisint pirPin = 2; //Variavel que receberá o valor digital do sensor int LEDgreen = 6; //LED endereçado no pino digital  6
int speaker = 7; //speaker endereçado no pino digital 7

void setup(){
Serial.begin(9600); // baud rate serial com 9600
pinMode(pirPin, INPUT); // declara como entrada
pinMode(LEDgreen, OUTPUT); // declara como saída
pinMode(speaker, OUTPUT); // declara como saída

}


void loop(){
int pirVal = digitalRead(pirPin); //Lê o valor digital do sensor e armazeza dentro de pirVal
// Serial.println(pirVal); // imprime no monitor serial o valor logico do sensor


if(pirVal == LOW){ //Low significa que um movimento foi detectado
Serial.println("Motion Detected");//imprime no monitor serial as palavras: Motion Detected

digitalWrite(LEDgreen, HIGH);
delay(1000);
digitalWrite(LEDgreen, LOW);
delay(500);
digitalWrite(LEDgreen, HIGH);
/* LED pisca uma vez com comando digitalWrite e fica aceso durante
a detecçaõ de movimento*/


tone(7,261,300);
delay(200);
tone(7,329,300);
delay(200);
tone(7,392,600);
delay(200);
/*speaker toca uma frequência o numero 7 é o pino digital,
o segundo número é a frequência tocada e o terceiro numero é a duração do som
Repetimos esse comando com diferentes frequências para criar uma melodia */
tone(7,329,300);
delay(200);
tone(7,392,300);
delay(200);
tone(7,493,600);
delay(200);

tone(7,392,300);
delay(200);
tone(7,493,300);
delay(200);
tone(7,294,600);
delay(200);
}
else{
digitalWrite(LEDgreen, LOW); // Turn off the LED in the case where no motion is detected
}


delay(2000); // wait for 2 seconds before compare again



}


4. Reference:
Sensor PIR

Exibições: 10082

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de José Luiz Moreira Junior em 5 dezembro 2016 às 15:30

Muito bom irei tentar montar. Valeu.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço