Sensor de presença PIR com detector de luminosidade 10

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.

Faça seu comentário

Acesse sua conta e participe

10 Comentários

  1. Olá… Eu consigo fazer com o Arduino Nano R3?

    1. Olá Roberto,

      Sim, pode fazer com o Nano R3 sem problemas!

      Abraços!
      Vinícius – Equipe MakerHero

  2. Gostaria de adaptar o circuito com fita de LED RGB endereçável, o que deve mudar?

  3. O sensor que comprei não funciona.
    Ligado corretamente, apresenta sempre na saída uma tensão igual à de alimentação, independentemente de qualquer regulagem ou de haver ou não movimento

  4. ola André queria fazer um seguidor solar usando o arduino mega com dois motores de passo e 4 LDR, poderia me ajudar com qual pinagem usar para os dois drives e 4 sensores

    1. Olá, Odinei,

      Sugiro você levar sua ideia de projeto para o nosso fórum, lá é possível ajudar melhor com isso.

      Abraços!
      Diogo – Equipe MakerHero

  5. eu consigo criar uma central de automação residencial para o homekit usando apenas o arduino?

    1. Olá, Wanderson!

      Apenas o Arduino, acredito que não.
      Você pode dar uma olhada no exemplo abaixo para ver se te dá uma luz 😉

      https://www.instructables.com/id/Arduino-and-Apple-HomeKit-Integration-Control-Your/

      Abraços!
      Diogo – Equipe MakerHero

  6. Tem como fazer o sistema usando o Arduino Uno R3 ?

    1. Olá Tiago!

      É bem simples fazer a mudança. O programa é o mesmo e as conexões é só utilizar as portas digitais do Uno.

      Quis fazer com o Mega pra ser um pouco diferente 🙂

      Abraços!

      André – Equipe MakerHero