Como acionar uma Lâmpada com Sensor de Movimento, Relé e Arduino

Acender Lâmpada com Sensor de Movimento, Relé e Arduino

Neste projeto vamos aplicar nosso conhecimento sobre sensores infravermelhos de movimento (PIR) e Arduino para construir um circuito bastante útil: acendimento automático de uma lâmpada quando alguém entra em um recinto.

Esta é uma aplicação extremamente popular dos sensores PIR, pois permite que o ambiente seja iluminado assim que uma pessoa o adentra, e a iluminação é desligada depois de um tempo pré-programado (como por exemplo, 30 segundos), permitindo economizar muita energia elétrica ao impedir que as pessoas se esqueçam de apagar as luzes ao sair.

O sensor PIR que utilizaremos é o HC-SR501, sensor de custo muito baixo e bastante comum. Mais precisamente, utilizarei o módulo de sensor que pode ser visto na imagem a seguir:

Sensor de Movimento PIR

Sensor de Movimento HC-SR501

Este sensor pode ser comprado com facilidade pela Internet em sites de venda de material para hobbystas e estudantes de eletrônica. O da foto foi adquirido no Ali Express.

Lista de Materiais

O circuito pode ser montado de duas formas: utilizando um relé discreto e componentes separados, ou empregando-se um módulo de relé. Nosso projeto será realizado usando o módulo, que simplifica o processo (e é, basicamente, o mesmo circuito). Neste caso, vamos precisar de:

  • Arduino
  • Módulo de Relé 
  • Soquete
  • Lâmpada (Incandescente ou de LED)
  • Fios e Jumpers adequados (fios mais grossos para a conexão da lâmpada, como fios de 1,5mm2).
  • Matriz de Contatos

Caso prefira utilizar um relé convencional em vez de um módulo integrado, irá precisar também de:

  • Relé 5VDC / 100-240VAC
  • Transistor 2N2222A ou equivalente
  • Resistor de 1K
  • Diodo 1N4004
  • LED de qualquer cor, para indicação de atividade do relé.

Módulo de Relé

O módulo de relé que utilizei no projeto é o Keyes SRD-05VDC-SL-C, que possui dois relés integrados (somente um será utilizado). Você pode utilizar qualquer módulo disponível, desde que atenda às especificações de tensão necessárias. É possível acionar diversas lâmpadas (ou outros dispositivos) usando módulos com múltiplos relés – veremos como fazer isso em um outro projeto.

A figura a seguir mostra o módulo de relé empregado:

Módulo de Relé Keyes Dual

Módulo de Relé Keyes Dual Keyes SRD-05VDC-SL-C

O diagrama esquemático a seguir mostra os componentes e interligações do módulo de relé utilizado (para um relé). Caso você opte por utilizar um relé discreto, deverá acrescentar o circuito conforme mostrado na ilustração:

Esquema do módulo de relé Keyes

Esquema do módulo de relé Keyes

Relés Normalmente Aberto e Normalmente Fechado

Aqui cabe uma rápida explanação sobre esse componente. Os relés possuem dois tipos diferentes de contatos elétricos – normalmente aberto – NA (NO – Normally Open) e normalmente fechado – NF (NC – Normally Closed).

A tensão de alimentação de 120-240V, que acionará a lâmpada, entra no relé pelo terminal comum (C) em ambas as configurações. Para usar os contatos normalmente abertos, usamos o terminal NO – assim, a lâmpada permanecerá apagada enquanto o sensor não ativar o circuito. Para usar os contatos normalmente fechados, usamos o terminal NC – neste caso, a lâmpada permaneceria acesa até o circuito ser ativado pelo sensor.

Qual será utilizado depende de como queremos que o interruptor seja empregado. Neste projeto queremos que a lâmpada seja acesa com o acionamento do relé, portanto queremos ligá-la, e por isso usaremos os contatos NO (NA) do relé.

O Circuito

A figura a seguir ilustra o circuito montado em uma matriz de contatos:

Acender lâmpada com sensor de movimento PIR, arduino e módulo de relé

Clique na imagem para ampliá-la

Atenção: Tome muito cuidado ao construir esse circuito, pois a lâmpada e o relé estarão ligados à rede elétrica (110/220V), e você corre o risco de levar um choque potencialmente perigoso e danificar os componentes. Verifique cuidadosamente todas as ligações, e procure isolar todas as pontas de fios empregados com fita isolante. Todo cuidado é pouco!

O Código

Utilizaremos um código similar ao do nosso projeto de acionamento de LED com PIR, com uma diferença: o sinal de saída do Arduino irá acionar o módulo de relé, o qual por sua vez chaveará seus contatos NO para acendimento da lâmpada:

const int pinoRELE = 10;
const int pinoPIR = 4;

void setup() {
  pinMode(pinoRELE, OUTPUT);
  pinMode(pinoPIR, INPUT);
}

void loop() {
  int valor = digitalRead(pinoPIR);
  if (valor == HIGH) {
    digitalWrite(pinoRELE, HIGH);
    delay(5000);
    digitalWrite(pinoRELE, LOW);
  }
}

Vamos usar a seguinte temporização: ao detectar movimento, o Arduino manterá o relé ativado por 5 segundos, mantendo a lâmpada acesa por esse tempo, e depois a apagará. Você pode alterar esse tempo conforme sua necessidade.

Circuito em Funcionamento

Para testar o circuito, basta se movimentar em frente ao sensor para que a lâmpada seja acionada.

Na foto abaixo podemos ver o circuito em funcionamento, em um ambiente escuro, e com a lâmpada apagada:

Sensor PIR acionando lâmpada com Arduino

Assim que um movimento é realizado em frente ao sensor (como passar por ele ou balançar a mão), a lâmpada é acesa, e assim permanece pelo tempo que foi programado no código do programa:

Sensor PIR de movimento acionando uma lâmpada com Arduino

É isso aí! No próximo projeto vamos acionar mais de um dispositivo usando o Arduino e módulo de relés. Até mais!

 

Sobre Fábio dos Reis (1192 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.
Contato: Website

3 Comentários em Como acionar uma Lâmpada com Sensor de Movimento, Relé e Arduino

  1. GIDEAO ARAUJO EVANGELISTA // 28/03/2020 em 2:14 // Responder

    ️️️️️️️️⚒️⛏️

    const int pinoRELE = 10;
    const int pinoPIR = 4;

    void setup() {
    pinMode(pinoRELE, OUTPUT);
    pinMode(pinoPIR, INPUT);
    }

    void loop() {
    int valor = digitalRead(pinoPIR);
    if (valor == HIGH) {
    digitalWrite(pinoRELE, HIGH);
    delay(500);
    digitalWrite(pinoRELE, LOW);
    }
    }

    Essa programa no Arduíno é para comando deu uma lampada, através de rele com um sensor.
    Como adaptar para três sensores de presença com um botão reset de alarme?.
    será usado um rele para acionar uma buzina buzzer.

    é um esquema de Alarme, para acionamento de buzina com dois sensores e um botão reset. (

  2. marcus josé alencat // 23/10/2023 em 21:39 // Responder

    parabéns, como accionar um relé através de uma balança arduino, programando o peso para X e se esse for maior do que x aciona o relé.

Escreva um comentário

Seu e-mail não será divulgado


*