Acendendo uma lâmpada com sensor de presença

Acendendo uma lâmpada com sensor de presença

Neste post vamos montar um sensor de presença com componentes fáceis de encontrar,  e que pode ser utilizado para acionar um portão, acender uma lâmpada, tocar uma campainha ou acionar qualquer outro dispositivo por meio de um relé.

Utilizaremos nesse projeto o eficiente módulo sensor de movimento PIR, um módulo compacto com sensor infravermelho e ajustes de sensibilidade e tempo de acionamento :

Sensor de presença

Este módulo permite o ajuste da sensibilidade do sensor, ou seja, à qual distância um objeto será detectado (3 à 7 metros) , e também o tempo de delay (tempo que a saída permanece acionada, em nível alto), de 5 a 200 segundos. Os ajustes são feitos nos 2 potenciômetros soldados à placa. Observando a foto, vemos que o da esquerda ajusta a sensibilidade, e o da direita ajusta o tempo :

Modulo PIR - Detalhe Potenciometros

O sensor aceita alimentação de 4,5 à 20V, e a conexão com o Arduino utiliza apenas um pino, que apresenta o estado HIGH (alto), ao detectar um movimento, e LOW (baixo) quando não há movimentação perto do sensor. Maiores informações sobre o funcionamento do módulo podem ser obtidas no datasheet do produto, nesse link.

Para utilização com um relé, precisaremos construir um circuito de proteção para evitar danos ao Arduino. Se você utilizar um módulo relé, o circuito de proteção não será necessário, pois ele já está embutido no módulo. Aproveite e confira um post usando este sensor de presença PIR para Acionar lâmpadas com módulo relé arduino.

Os componentes para o circuito do relé são os seguintes :

  • 1 relé 5V
  • 1 diodo 1N4007 ou equivalente
  • 1 Transistor BC548 (ou equivalente NPN)
  • 1 Resistor de 10 K

Neste circuito, estamos utilizando uma lâmpada ligada à rede elétrica (110 volts). Ao montar o circuito, confira com cuidado a ligação dos componentes para evitar choques.

IMPORTANTE: Alguns módulos tem a pinagem invertida, com o Vcc (5V) no lado esquerdo e o GND no lado direito, ao contrário da imagem mostrada abaixo. Confira a pinagem do seu módulo removendo a tampa superior e observando a ligação correta, evitando assim a queima do componente.

Circuito sensor de presenca

Lembre-se que dependendo do tipo de relé que você estiver utilizando, a disposição dos pinos pode variar. No circuito, NO corresponde ao pino Normal Open (Aberto), NC ao Normal Close (Fechado), e C ao comum. Siga a mesma ligação ao relé que você estiver usando.

O programa abaixo verifica se o pino 7 (entrada do sensor de movimento) foi acionado, ou seja, se está em estado alto (HIGH), e então aciona o pino 2 (saída para o relé), que por sua vez aciona o relé e acende a lâmpada.

//Programa : Sensor de presenca com modulo PIR
//Autor : FILIPEFLOP

int pinorele = 2; //Pino ligado ao rele
int pinopir = 7; //Pino ligado ao sensor PIR
int acionamento; //Variavel para guardar valor do sensor

void setup()
{
pinMode(pinorele, OUTPUT); //Define pino rele como saida
pinMode(pinopir, INPUT); //Define pino sensor como entrada
Serial.begin(9600);
}

void loop()
{
acionamento = digitalRead(pinopir); //Le o valor do sensor PIR

if (acionamento == LOW) //Sem movimento, mantem rele desligado
{
digitalWrite(pinorele, LOW);
Serial.println("Parado");
}
else //Caso seja detectado um movimento, aciona o rele
{
digitalWrite(pinorele, HIGH);
Serial.println("Movimento !!!");
}
}

Opcionalmente, você pode acrescentar um LDR (resistor sensível à luz) ao circuito para que a lâmpada seja acionada apenas durante a noite, evitando desperdício de energia.

Gostou ? Conte-nos sua experiência com este post e visite nossa loja FILIPEFLOP !

12
Acendendo uma lâmpada com sensor de presença
16 votos, 4.00 classificação média (79% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

79 Comentários

  1. fernando maia - 6 de março de 2017

    Ola, sou leigo no assunto mas gostaria de montar uma armadilha fotografica apartir de uma web cam ou camera digital comum, dai cheguei ate este post do sensor de presença. teria como montar algo e compartilhar ?

  2. David - 20 de dezembro de 2016

    Olá Filipe, boa tarde.
    O sensor que veio em meu kit MASTER não indica qual pino é 5V ou GND, qual setagem do jumper é HIGH/LOW, a descrição dos potenciomentros… e nem mesmo vem escrito na placa o modelo a que se refere. Acesso o datasheet do módulo e vejo que as posições também não batem. Como testá-lo sem queimá-lo?

    Obrigado! Abraços e parabéns pelos artigos.

    • David - 21 de dezembro de 2016

      Adilson, bom dia.

      Recebi um kit MASTER e fiz um script como o acima, mas acendendo LEDs – coisa simples, só para testar a sensibilidade do sensor.

      Fiz um circuito simples, com um LED indicando estado LOW e outro indicando estado HIGH do sensor. Leio a porta digital dele e faço um IF ELSE.

      Em ambos os casos – VCC e GND trocando os pinos já que o módulo não tem nenhuma indicação de qual é VCC e qual é GND – os LEDS ficam piscando indefinidamente, e vejo pela saida Serial que o estado 0 e 1 ficam se alternando todo o tempo, em cada LOOP.

      Mesmo mexendo nos controles de tempo e sensibilidade, isso não se altera. Acho que o módulo veio com defeito… como fazer um RMA?

      Obrigado. Abs!

  3. Mario - 26 de novembro de 2016

    foi um dos melhores post que vi em relação ao sensor PIR, me ajudou e muito!
    minha duvida seria como usar o resistor LDR nesse mesmo circuito? fico grato pelo resposta!

  4. Johannes - 11 de outubro de 2016

    Esse sensor quando ele detecta presença ele fica mandando sinal nivel logico alto o o tempo todo?

  5. Samuel Caeiro - 23 de junho de 2016

    Olá, estava precisando alterar o block time do sensor, mas achei poucas informações de como fazer, teria alguma dica ou link útil? Me ajudaria muito.

  6. Alexandre - 31 de maio de 2016

    Felipe, no curso técnico estou fazendo um projeto que usa controle RF 433mh.
    E preciso colocar um sersor PIR como uma chave no encoder para acionar a saida do decoder, como faço esse projeto?

  7. Marília Figueiredo - 11 de maio de 2016

    Boa tarde. estou fazendo um projeto de curso técnico e queria saber quais os componentes usados nesse projeto ” acendendo uma lâmpada com sensor pir”

  8. Marília Figueiredo - 11 de maio de 2016

    Boa tarde. estou fazendo um projeto de curso técnico e queria saber quais os componentes usados nesse projeto ” acendendo uma lâmpada com sensor pir

    • Adilson Thomsen - 11 de maio de 2016

      Boa tarde Marilia,

      Usamos:
      – Arduino Uno
      – Sensor PIR
      – Diodo 1N4007 ou equivalente
      – Transistor BC548 ou equivalente NPN
      – Resistor de 10K
      – Protoboard
      – Lâmpada
      – Fios, conectores, etc.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  9. john paulo - 7 de abril de 2016

    ola boa noite!
    gostaria de saber se esse sensor poderia ser utilizado também em motores dc para abertura e fechamento de uma porta?
    e que tipo de programação deverei fazer?
    obrigado!

  10. Felipe - 7 de abril de 2016

    Boa noite.
    Gostaria de saber qual as características que o sensor apresenta quando encontra-se “estragado”. Estou querendo desenvolver um sistema que verifique o estado dos sensores, para evitar a simulação manual para ver se o sensor esta em boa condições.
    Desde já, agradeço.

  11. douglas - 26 de janeiro de 2016

    tem como ajustar esse sensor para detectar apenas pessoas? ou ele pega animais também?

    • FILIPEFLOP - 26 de janeiro de 2016

      Bom dia Douglas,

      O sensor PIR funciona detectando variações de infravermelho, logo vai detectar pessoas e animais. Existem sensores no mercado que servem para detectar apenas pessoas, procure por “IRD 640″ no Google.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  12. Adriano - 26 de novembro de 2015

    Se a pessoa estiver imóvel no ambiente a detecção é falsa?

  13. Thiago - 3 de novembro de 2015

    olá Filipe, eu precisaria de algo que captasse algo como um infravermelho, pra não pegar apenas movimento, mas a presença de algo “quente” no ambiente. existe algo que faça isso?
    havia lido em alguns outros posts por ai que esse pir funcionaria assim, mas ao que me parece ao montar, não foi assim.
    tem algo pra me indicar?

  14. Marcio - 26 de outubro de 2015

    Boa noite, estou querendo fazer uma ponte levadiça que é acionada por sensores esse sensor se adaptaria ao projeeto?

  15. Clóvis Alberti - 23 de outubro de 2015

    Boa tarde Amigos,

    Poderia me sanar algumas dúvidas?

    1 – Pelo código eu posso alterar o tempo de acionamento por exemplo para 10 minutos?
    2 – Posso ligar vários módulos PIR em paralelo? Por exemplo, uns 35 módulos?
    3 – Qual a maior distância que eu poderia deixar o módulo longe do Arduino? Uns 150 metros com cabo de rede funcionaria?

    É que estou querendo sensorizar uma garagem de condomínio e talvez esse esquema com arduino pudesse me atender satisfatoriamente e com um melhor custo benefício.

    Grato desde já.

  16. Pedro - 12 de outubro de 2015

    Olá,

    Gostaria de saber como fazer para a lampada continuar acesa enquanto a pessoa estiver dentro do ambiente.

    • FILIPEFLOP - 21 de outubro de 2015

      Bom dia Pedro,

      Nesse módulo e na programação você consegue programar o tempo que a luz ficará acesa, mas para que ela continue acesa sempre, você terá que efetuar uma verificação de tempos em tempos utilizando o próprio sensor, ou um sensor externo para detectar movimentos da pessoa no ambiente.

      Abraço

      Adilson – Equipe FILIPEFLOP

  17. Jose Nascimento - 26 de setembro de 2015

    Vocês tem alguma sugestao de fazer montar um circuito para detectar a presença da tensão na rede e jogar essa informação no arduino, e quando a tensao na rede for 0, o circuito postado funcionar?

  18. Wilmar - 20 de julho de 2015

    O relé que eu tenho consome 80mA e o arduino só fornece 40mA, posso fazer essa mesma ligação sem nenhum problema ou vai queimar o arduino ?

    • FILIPEFLOP - 21 de julho de 2015

      Bom dia Wilmar,

      Você tem só o relé ou o módulo relé ? Você vai precisar do circuito de proteção com transistor, diodo, etc, como fizemos no post.

      Abraço

      Adilson – Equipe FILIPEFLOP

      • Wilmar - 23 de julho de 2015

        Estou utilizando só o relé e fiz o circuito acima, porém não está acionando o relé ( ele não está com defeito, pois testei com uma fonte própria…), acho q a corrente não é suficiente…

        E outra duvida, como posso diminuir a sensibilidade do sensor pir mais ainda, por exemplo, acionar algo quando se passar a mão em frente, mais ou menos em uns 20 cm…

  19. thiago - 15 de julho de 2015

    ola gostaria de saber se consigo acender 4 leds somente com este sendor.

  20. ADALBERTO LOPES - 9 de julho de 2015

    OLÁ,
    GOSTARIA DE SABER SE TEM COMO USANDO ESSE MESMO ESQUEMA,EMITIR UM SINAL SONORO OU SINAL DE CHAMADA PARA UM CELULAR.
    TIPO ASSIM:
    AO DETECTAR A PRESENÇA DE ALGUEM, O SISTEMA EMITIR UMA CHAMADA PARA UM NÚMERO DE CELULAR OU MAIS, AO MESMO TEMPO.
    SE TIVER COMO, QUAIS OUTROS EQUIPAMENTOS PODE-SE USAR, NESSE MESMO ESQUEMA???

  21. Paulo Lima - 11 de junho de 2015

    Esse sensor é equivalente ao hc sr501?

  22. Bruno - 10 de junho de 2015

    Gostaria de saber quais componentes usar no arduino para monta um sistema de captação de iluminação, para fazer o seguinte, fazer com que as lampada acenda se o ambiente estiver com menos de 5000k de iluminação?

  23. Jose Dutra - 2 de junho de 2015

    Olá amigo boa noite, uma pergunta muito interessante que ninguém vez e eu gostaria de saber,
    ” É possível fazer uma lâmpada acender com apena o censor, sem ter arduino? ou só é possível se tiver o arduino? Caso seja possível fazer o projeto sem arduino, quais seria os devidos componentes para isso?

  24. NALYN CAROLINE CHICHORRO MONTORO PERES - 1 de junho de 2015

    Olá, queria saber como faço ao invés de ligar a lampada ligar um ventilado?
    Obrigado

    • FILIPEFLOP - 3 de junho de 2015

      Bom dia,

      Você pode utilizar o mesmo esquema de ligação apresentado no circuito desse post, respeitando a amperagem máxima suportada pelo relé.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  25. matheus - 26 de maio de 2015

    opa peguei sua logica e adaptei usando dois sensores e dois reles, so que preciso colocar um delay pra cada sensor, e nao esta aceitando, se eu coloco um delay de 10s pro sensor 1, ele espera 10s pra funcionar o sensor 2, e nao qro assim, consegue me ajudar?

    • sidinei rheinheimer - 2 de junho de 2015

      Amigo,se vc colocar um delay ou qualquer outra função de tempo no arduino ele ficara”travado” até terminar o tempo o qual vc programou,somente depois ele passará a executar as outras tarefas.Ou vc coloca um arduino pra cada sensor e usa o delay ou vc coloca 2 timers externos (ex : Lm 555),Eu tive o mesmo problema.

  26. Marcos Vinicius Lopes - 5 de maio de 2015

    ótimo post amigo, bom trabalho também no ato de esclarecer dúvidas!
    me foi muito útil.
    grato desde já.

  27. RODRIGO - 31 de março de 2015

    Qual a finalidade do transistor e o diodo nessa configuração?

  28. Sensor de Movimento PIR | Blog FILIPEFLOP - 11 de fevereiro de 2015

    […] e confira um post também com este sensor ensinando Como acender uma lâmpada com Sensor de Presença e Arduino. Até a […]

  29. Leonardo - 27 de janeiro de 2015

    Boa noite, queria saber de tem algum projeto que conte quantas vezes uma pessoa passou por uma porta e voltou???

  30. Plinio - 25 de novembro de 2014

    Olá,

    É possível ligar vários sensores em paralelo? Preciso detectar movimento em um corredor, seriam cerca de 6 sensores.

  31. Bruno Mikoski - 17 de novembro de 2014

    Ótimo post amigo, estou começando a mexer com Arduino, e é muito bacana ter alguns tutoriais assim para podermos aprender! :D

    Eu tenho uma duvida, tenho um dispenser de sabão, e eu gostaria de detectar quantas vezes esse dispenser foi acionado, ja removi as baterias dele e fiz ele ligar na luz, e tenho a saida dele em energia, existe uma maneira para detectar que a corrente foi fechada automaticamente?

    • Edilson Maia Favero - 5 de julho de 2016

      sim, use um contactor e ligue no arduino como se fosse um botão, depois faça um código que conte quantas vezes o “botão foi acionado”. Aqui mesmo no site tem códigos para botões e contagem.

  32. Juliano - 24 de outubro de 2014

    Olá, preciso fazer um projeto parecido com este, porém no meu projeto haverá um recipiente que será enchido com água. Quando a água chegar a determinado nível, um sensor que detecta que a água atingiu aquele nível aciona um servo motor, que rotacionará para um lado, e após determinado tempo, rotacionará de volta a posição original.

    O funcionamento é mais ou menos este: https://www.youtube.com/watch?v=2-ksDJmlcMs

    Só não sei se este tipo de sensor consegue detectar o nível d’água

    Gostaria de saber se eu comprasse os componentes deste projeto de vocês, e substituísse a lampada por um servo motor, se eu conseguiria fazer o que desejo? Se sim, qual servo motor vocês me indicariam?

    Muito obrigado.
    Juliano

    • FILIPEFLOP - 24 de outubro de 2014

      Boa noite Juliano,

      Esse sensor de presença funciona por infravermelho, provavelmente não serve para o seu projeto. Tente um sensor de nível de líquidos, que é uma bóia especialmente para esse fim.

      Grato.

      Adilson – Equipe FILIPEFLOP

    • Edilson Maia Favero - 5 de julho de 2016

      Você pode usar como um botão duas possibilidades que são parecidas, use um interruptor “final de curso”, colocando uma haste nele e uma bolinha de isopor na outra extremidade, ele vai funcionar como uma boia, que ao subir aciona um botão, ou você pode também comprar pronta uma boia eletrônica, o funcionamento da boia eletrônica é praticamente o mesmo, só que é mais cara.

  33. Jonathan ALberti - 18 de setembro de 2014

    Bom dia , desta forma funciona perfeito..

    estou ainda em aprendizado com arduino e faço algumas funções com php, html junto com um arduino mega e shield ethernet, gostaria de saber como faria para comunicar com este sensor através de socket..

    já tenho uma conexão feita para acionar rele e trazer status, mas queria um exemplo de como eu faria com o sensor.

  34. Daniel Fernandes - 22 de julho de 2014

    Excelente projeto!
    Mas… como poderia ser utilizado este projeto para, ao invés de acender a lâmpada, ligar um motor de passo ou servo-motor para, por exemplo, abrir uma persiana (ao amanhecer) ou abrir a tampa de uma lixeira (com a aproximação da mão, por exemplo)?
    Mais uma vez, muito obrigado e parabéns!

    • Adilson - 29 de julho de 2014

      Boa noite Daniel,

      Você pode utilizar esse circuito em conjunto com alguns outros exemplos que temos no nosso blog, onde falamos de motores de passo e servos.

      O princípio de funcionamento é o mesmo. Você só precisa ajustar as portas do Arduino de acordo com o módulo que vai utilizar.

      Abraços.

      Adilson – Equipe FILIPEFLOP

  35. Felix Neves Bezerra - 25 de junho de 2014

    Filipe Bom Dia…

    Estou precisando de ajuda para montar uma programação em um ARDUINO UNO, comprei um kit start de você pelo mercado livre e estou com dificuldade de montar a programação que preciso;
    *Necessito que o arduino receba um sinal de entrada(5v) e em quanto estiver recebendo esse sinal conte um tempo e se passar de 10 minutos acione uma saída e quando acionar essa saída mande também uma mensagem para um Display (mensagem de Falha no equipamento)… se a entrada(5v) sair antes de 10 minutos não aciona a saída.
    *Nessa mesma programação preciso que esteja também em rede…
    *nessa mesma programação também outra entrada(5v) que quando der um pulso ativar uma outra saída por um tempo de 1 minuto e depois só acionava a saída de novo se tivesse o pulso na entrada…
    Agradeceria se recebesse essa ajuda pois tenho pouco conhecimento em linguagem c, se fosse em LADDER eu ja teria feito.

    • FILIPEFLOP - 30 de junho de 2014

      Boa noite Felix,

      Não temos nenhum projeto pronto nesse sentido, mas você pode utilizar as informações dos vários posts publicados aqui no blog para montar o seu projeto, e entrar em contato conosco para qualquer dúvida.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  36. Rafael - 5 de maio de 2014

    FILIPEFLOP, faltou o merchan, com o preço das peças pra galera compra, vc ja tem loja virtual ou ta só com o ML mesmo?

  37. Gustavo Pampuch - 18 de abril de 2014

    Muito bacana esse projetos! Tentei por um LDR no circuito, mas não consegui programar. consegue dar uma força na programação?

    • FILIPEFLOP - 13 de maio de 2014

      Boa noite Gustavo,

      O LDR funciona como se fosse um potenciômetro, a grosso modo. Você pode ligá-lo por exemplo à uma porta analógica e, dependendo da luminosidade, acionar determinada porta, ou executar algum outro processo, isso vai depender do seu projeto.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  38. Marcos - 11 de abril de 2014

    Parabéns a Filipeflop. comprei vários itens com vocês e sempre recebi tudo certinho e funcionando.
    o atendimento também é ótimo um dia precisei ligar pra tirar umas duvidas e fui muito bem atendido!

  39. Godoy - 7 de abril de 2014

    Boa tarde. Gostei muito do seu blog e gostaria de tirar uma dúvida quanto a esse projeto.
    Como eu crio um módulo ReléShield no Fritzing? Pois não quero usar componentes no projeto, somente os módulos.

    Grato

  40. Renato Ramiro - 9 de janeiro de 2014

    Muito bom esse post. Só uma dúvida: qual programa vc usou pra criar o circuito?

  41. Renato Ramiro - 9 de janeiro de 2014

    Muito bom esse post. Só uma dúvida: qual programa vc usou pra criar o circuito?

  42. robson souza - 30 de dezembro de 2013

    Muito bom esse post vou tentar, valeu….

    Date: Mon, 30 Dec 2013 11:56:12 +0000 To: nosbortenob@hotmail.com

  43. FILIPEFLOP - 30 de dezembro de 2013

    Valeu Robson. Obrigado pela visita. Abraços.

    Adilson – Equipe FILIPEFLOP

Deixe uma resposta