Como usar um Sensor de Movimento PIR com Arduino

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:

Esquemático do sensor de presença PIR com arduino e LED

Ligações em uma breadboard:

Conexão do sensor PIR HC-SR501 em uma protoboard com Arduino

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.

 

Sobre Fábio dos Reis (1212 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*