Sensor de presença PIR com detector de luminosidade Deixe um comentário

Você já aprendeu a acender uma lâmpada utilizando um sensor de presença PIR. Você também já viu como acionar um relé com sensor de luz. Nesse post vamos ver como juntar os dois projetos e ter uma lâmpada que é acionada quando existe movimento e está escuro.

Sensor de presença com detector de luminosidade

Aqui no nosso blog já postamos diversos projetos interessantes com os mais diversos tipos de sensores. Às vezes, você pode precisar juntar a utilização de dois ou mais sensores para ter resultados um pouco mais complexos. Muitas pessoas nos perguntam como juntar um exemplo com outro e o objetivo desse post é esclarecer esse tipo de dúvida. Para começar de forma mais simples, escolhemos dois sensores que apenas utilizam uma porta lógica do Arduino cada um, mas a mesma ideia pode ser aplicada com outros tipos de componentes em diferentes placas.

Como nos posts citados, vamos utilizar os seguintes componentes:

Tome cuidado com a escolha do relé! Relés de estado sólido feitos para corrente alternada (AC) não funcionam para corrente contínua (DC). Para este caso, como irei utilizar uma carga de AC este relé escolhido é apropriado.

Montagem do circuito sensor de presença PIR e LDR

Não é à toa que o Arduino possui diversas portas de entrada e saída, analógicas e digitais. Para adicionar sensores na montagem, basta acrescentar o circuito desse sensor no projeto, da mesma forma que faria se não tivessem mais coisas conectadas.

IMPORTANTE: Tome muito cuidado ao trabalhar com a rede elétrica! Somente coloque na tomada quando estiver tudo corretamente conectado. Nunca mexa com os fios energizados pois um choque nessa tensão pode causar graves problemas.

Lógica na junção de dois sensores com Arduino

Uma estrutura utilizada em praticamente todos os códigos é o if (se).  Nela verificamos se uma condição é verdadeira e, se for, fazemos algo. Mas como fazemos para verificar duas coisas ao mesmo tempo?

No nosso caso precisamos que a lâmpada acenda quando houver movimento E quando estiver escuro. Para isso, utilizamos o operador lógico E dentro da estrutura if. Os operadores lógicos são capazes de juntar duas condições em uma só, dando apenas verdadeiro ou falso para o if.

No lógico, a saída só será verdadeira se as duas condições forem verdadeiras. No nosso caso, usamos o operador E pois queremos que a luz se acenda apenas quando houver movimento estiver escuro.

Se quiséssemos acionar a lâmpada quando estivesse OU quando tivesse movimento, utilizaríamos o operador lógico OU.

Falaremos mais sobre operadores lógicos futuramente em outro post no nosso blog.

Programação do projeto

// Começa definindo os pinos que serão utilizados no projeto
const int pinoldr = 4;       // pino de leitura digital do sensor
const int pinorele = 2;        // pino de comando do modulo relé de estado sólido
const int pinopir = 6;     // pino de leitura digital do sensor de presença

void setup() {
  // define o pino que aciona o relé como saída
  pinMode(pinorele, OUTPUT);
  // define os pinos dos sensores como entrada
  pinMode(pinoldr, INPUT);    // Define pino de sensor de luz como entrada
  pinMode(pinopir, INPUT);   //Define pino sensor de presença como entrada
}
 
void loop() {
  // lê os estados do sensores e os armazena nas variáveis luz e movimento
  int luz = digitalRead(pinoldr);
  int movimento = digitalRead(pinopir); 
 
  if (luz == HIGH && movimento == HIGH)  // Se não houver luz E (&&) houver movimento aciona o relé
  {
    digitalWrite(pinorele, LOW); // aciona relé (este relé é acionado em nivel LOW)
    delay(3000); // Deixa um tempo a luz ligada 
  } 
  
  else  // Caso contrário, desliga o relé       
  {
    digitalWrite(pinorele, HIGH);// desliga o relé
  }
}

Tente entender como é feito o código, ele vai te ajudar em futuros projetos que você vá fazer.

Gostou do projeto de sensor de presença PIR com detector de luminosidade? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial. Não se esqueça de visitar o fórum da FILIPEFLOP!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *