Buscar

16ª Experiência - Como usar um Sensor de Movimento PIR com Arduino

Prévia do material em texto

Como usar um Sensor de Movimento 
PIR com Arduino 
Postado Em 24/11/2018 [data do post] por Fábio dos Reis [autor do post] em Arduino 
[categoria do post] 
Projeto: Acionando LED com Arduino e sensor PIR 
Neste tutorial vamos criar um projeto simples com Arduino empregando um sensor PIR 
– infravermelho passivo. Se você leu o artigo sobre o funcionamento de um sensor de 
movimento PIR vai se lembrar do exemplo de aplicação em um banheiro de restaurante. 
Faremos algo similar, porém utilizando um LED em vez de uma lâmpada. 
Quando o sensor PIR detectar movimento, um LED será aceso, permanecendo neste 
estado por 2 segundos (as lâmpadas de banheiros automáticas permanecem por ao 
menos 30 segundos acesas; modificar isso é extremamente simples no circuito). 
Como podemos imaginar, muitas aplicações interessantes podem ser criadas com esse 
tipo de sensor, entre elas inúmeros dispositivos para Automação Residencial e Smart 
Home (Casa Inteligente) 
Lista de materiais 
Para montar este circuito vamos precisar dos seguintes componentes: 
• Arduino 
• Sensor PIR HC-SR501 ou equivalente 
• Resistor de 220Ω 
• LED (qualquer cor) 
• Breadboard 
• Fios e jumpers para ligações 
Diagrama Esquemático do Circuito 
Abaixo temos o diagrama esquemático do circuito de acionamento de luz com sensor 
infravermelho passivo: 
http://www.bosontreinamentos.com.br/author/admin/
http://www.bosontreinamentos.com.br/category/eletronica/arduino/
http://www.bosontreinamentos.com.br/eletronica/como-funciona-um-sensor-de-movimento-pir-passive-infrared/
http://www.bosontreinamentos.com.br/eletronica/como-funciona-um-sensor-de-movimento-pir-passive-infrared/
http://www.bosontreinamentos.com.br/eletronica/como-funciona-um-sensor-de-movimento-pir-passive-infrared/
 
Ligações em uma breadboard: 
 
Código 
A seguir temos o código utilizado em nosso projeto: 
const int pinoLED = 10; 
const int pinoPIR = 4; 
 
void setup() { 
 pinMode(pinoLED, OUTPUT); 
 pinMode(pinoPIR, INPUT); 
} 
 
void loop() { 
 int valor = digitalRead(pinoPIR); 
 if (valor == HIGH) { 
 digitalWrite(pinoLED, HIGH); 
 delay(2000); 
 digitalWrite(pinoLED, LOW); 
 } 
} 
Criamos as constantes pinoLED e pinoPIR para configurar os pinos de conexão do LED 
e de saída do sensor PIR, respectivamente. Na função de setup ajustamos esses pinos 
com saída (LED) e como entrada (PIR). 
Na função principal (loop) criamos dinamicamente uma variável de nome valor que irá 
recebr o nível lido no pin do PIR, por meio do método digitalRead no pino 
correspondente. Se o valor lido for nível alto (HIGH), o LED será aceso, permanecendo 
nesse estado por 2 segundos (2000 milissegundos, função digitalWrite) e então será 
apagado, se acendendo novamente quando o sensor detectar movimento. 
Download do Datasheet do HC-SR501 
É isso aí! Nos próximos tutoriais vamos criar mais projetos interessantes utilizando 
Arduino e sensores PIR. Até mais! 
Referências 
Wilson, J. Sensor Technology Handbook. Newnes / Elsevier. 2005. 
 
https://www.mpja.com/download/31227sc.pdf

Continue navegando