25 Comentários

Arduino – Controle de uma lâmpada com LDR

Este post faz parte da série Acionamento de uma lâmpada com Arduino. Leia também os outros posts da série:

No artigo anterior apresentamos como ligar uma lâmpada AC utilizando um relê. Dando continuidade a esse assunto, agora vamos explicar como acionar automaticamente uma lâmpada conforme a luminosidade ambiente, utilizando como sensor o LDR.

LDR

O LDR é um resistor sensível à luz que varia sua resistência conforme é alterada a intensidade luminosa que incide sobre ele. À medida que a intensidade luminosa aumenta (o ambiente fica mais claro) a sua resistência diminui para algumas dezenas de Ohms, e quando a intensidade luminosa diminui (o ambiente fica mais escuro) a sua resistência aumenta para alguns mega Ohms.

Através dessa característica pode-se utilizar esse sensor para detectar a luminosidade do ambiente, para tomar uma decisão como, por exemplo, ligar uma lâmpada, como ocorre nas fotocélulas.

Ele é um sensor de baixo custo e está presente em muitos circuitos eletrônicos que necessitam monitorar a luz ambiente. O seu uso é bem simples, onde através de um circuito divisor resistivo a variação de resistência é convertida em tensão e usada pelo circuito de controle.

Para fazer a leitura da variação de luminosidade, ou seja, a variação de resistência do LDR, é necessário montar um divisor de tensão, conforme o esquema abaixo:

Arduino LDR -Esquemático

Você pode montar esse circuito facilmente em um protoboard:

Arduino LDR -PROTO

Através do circuito apresentado pode-se calcular o valor da tensão de saída para uma determinada resistência do LDR, através da seguinte fórmula:

Arduino LDR -divisor-formula

Por exemplo, em uma ambiente quase escuro o LDR apresenta resistência de aproximadamente 500 KOhm, e o valor de tensão de saída será:

Arduino LDR -divisor-500K

E em uma ambiente claro a resistência do LDR cai para aproximadamente 300 Ohm. Assim, a tensão de saída será:

Arduino LDR -divisor-300R

Nota-se através dos cálculos que a tensão de saída do conversor aumenta quando a intensidade luminosa aumenta e diminui quando ambiente vai ficando escuro.

Para verificar o valor de conversão AD do Arduino, para a variação de temperatura podemos usar o seguinte sketch:

Abrindo o monitor serial pode verificar a variação do valor de conversão AD.

Montagem do Circuito para Acionamento de lampada com Arduino e LDR

Agora vamos à montagem do circuito completo para controle da lâmpada com Arduino e LDR.

Atenção: Esse projeto utiliza eletricidade (tensão alternada – AC) que pode ser perigosa para quem trabalha com ela e não saiba exatamente o que está fazendo. Apenas reproduza esse projeto com segurança. Caso não tenha o conhecimento necessário para fazer a experiência de maneira segura, faça-o na presença ou sob orientação de alguém mais experiente. Assuma sempre que a sua segurança deve estar em primeiro lugar.

Arduino LDR -CircuitoRele

O sketch a seguir fará com que a lâmpada acenda quando estiver escuro, e apague quando estiver claro:

Funcionamento do Arduino LDR

Inicialmente foram definidas duas constantes para o relê e para a entrada do sensor. Na função Setup o pino do relê foi configurado como saída digital. Na função loop, inicialmente é lido o valor da conversão AD no pino A0, e existe uma estrutura de decisão baseada nesse valor. Caso ele esteja abaixo do valor determinado como parâmetro para ambiente escuro (note que este valor pode ser alterado facilmente no #define), o relê é ligado. O rele só será desligado quando o valor lido for maior ou igual ao valor determinado como ambiente claro. Esse valores limites podem ser determinados através do sketch que faz a leitura do LDR, e através de alguns testes pode-se verificar os valores para as condições ambientes submetidas. Pode-se variar os valores limites para adequar a outros ambientes ou determinadas necessidades.

Conclusão

A leitura do LDR é bem tranquila, necessitando apenas da montagem de um divisor de tensão e a correta leitura do canal analógico. O exemplo apresentado pode ser utilizado para automação residencial para verificar a luminosidade do ambiente onde você poderá ligar uma lâmpada, ou outro dispositivo. Pode ser interessante adicionar outros recursos, como temporização, por exemplo, e as lâmpadas só poderão ficar ligadas de segunda a sexta, da hora que acenderem até as 00:00. Para isso basta acrescentar um relógio de tempo real e verificar o horário de desligar. Você pode também utilizar o LDR em conjunto com um sensor de presença em uma garagem, por exemplo, e só acender a lâmpada apenas quando tiver movimento e estiver escuro.

Existem diversas aplicações para o uso do LDR, espero que você possa aplicar em outros circuitos. Conte suas experiências e em qual aplicação pretende usar o LDR.

Para aprender mais sobre Arduino 

Arduino - Primeiros Passos

Arduino UNO

Criando suas próprias bibliotecas para Arduino

Referências

Wikpedia  - LDR

LDR - Light Dependent Resistor

Tutorial Arduino - FBS Eletrônica

Outros artigos da série

<< Acionamento de uma lâmpada com Arduino
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » Arduino - Controle de uma lâmpada com LDR
Comentários:
Notificações
Notificar
guest
25 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
João Antonio
João Antonio
08/10/2015 14:03

Como posso saber a unidade de medida que o programa do Arduino esta me indicando no monitor serial ?

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  João Antonio
08/10/2015 15:55

Vai depender da escala de conversão que você utilizar. No caso desse artigo ele está apenas enviando o valor da conversão analógica para digital com um conversor de 10 bits.

Abraços

André Barcelos
André Barcelos
19/08/2015 17:16

Caros colegas! Primeiramente desculpe-me a ignorância, mas, utilizando o mesmo esquema acima, teria como alterar a luminosidade da Lâmpada de acordo com a variação da luminosidade do ambiente (um FADE com uma lâmpada ao invés de LEDs como exemplos comumente encontrados)? Grato!

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  André Barcelos
19/08/2015 17:38

Olá André, com o exemplo acima só é possivel ligar e desligar a lampada. Para controlar a intensidade luminosa você precisa de um circuito com triac. Da uma olhada nesses exemplos: http://playground.arduino.cc/Main/ACPhaseControl

http://www.instructables.com/id/safe-and-simple-AC-PWM-Dimmer-for-arduino-Raspberr/

http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/

https://www.youtube.com/watch?v=CmU2u2kHH1U

Abraços

Marcel Panzera
Marcel Panzera
05/08/2015 10:57

Eu poderia utilizar o LDR no sinal analógico para determinar a turbidez da água? Visto que a turbidez é medida em relação à quantidade de luz que ultrapassa uma quantidade de águaá

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  Marcel Panzera
05/08/2015 11:31

Sim, porém você deverá ter um ambiente controlado com uma fonte de luz também controlada, além de um circuito de condicionamento de sinal para o sensor.

Da uma olhada nesses videos:

https://www.youtube.com/watch?v=IV_esqVmYGk

https://www.youtube.com/watch?v=tTkK3uVHPJc

Marcel Panzera
Marcel Panzera
Reply to  Fabio_Souza_Embarcados
06/08/2015 18:37

Show Fábio!!! Muito obrigado
Ótima explicação!!!

Marcos Dias
Marcos Dias
03/07/2015 10:57

Eu queria saber é possível ligar um led ou motor com o ldr sendo quando tem luminosidade no lugar. ou seja acionar quando ligar a lanterna

Claudio Olmedo
21/05/2014 08:45

Parabéns Pelo post, E muito bom, quando não tem onde comprar, assim distribuidores, revendedores, e outros podem compartilhar a informação. Muito bom.

Luiz C
Luiz C
14/09/2016 14:48

Olá Fábio. Será que pode me dar uma dica? Estou tentando montar um circuito simples com o LDR e arduino com a finalidade apenas de o horário da aurora e do ocaso, ou seja quando o Sol nasceu e quando se pôs. Para tanto estou registrando os valores de tensão obtidos a partir do fotoresistor. Aqui é que está o problema. Meu código só tem dado dois valores de tensão (mínima e máxima) 0,16V e 5,00V, ou seja é tudo ou nada, parece não haver para ele valores intermediários de iluminação. Será que você teria uma dica que eu pudesse… Leia mais »

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  Luiz C
14/09/2016 16:35

Olá Luiz,

Acredito que o ganho do operacional está muito alto. Tente calibra o potenciômetro para uma faixa maior de leitura. Você pode simular diferentes ambientes de iluminação e calibrar o circuito.

Abraços

Luiz C
Luiz C
Reply to  Fabio_Souza_Embarcados
14/09/2016 17:52

Muito obrigado Fábio. Tentarei isso.

Carlos Alberto Da Costa Pinto Neto
Carlos Alberto Neto
03/08/2016 21:56

Outra matéria com fotos faltando.

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  Carlos Alberto Neto
04/08/2016 08:36

Olá Carlos, estou providenciando as imagens. Obrigado por avisar.

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  Fabio_Souza_Embarcados
05/08/2016 15:06

Olá Carlos, as imagens foram atualizadas. Muito obrigado pelo aviso.

Abraços

Carlos Alberto Da Costa Pinto Neto
Carlos Alberto Neto
Reply to  Fabio_Souza_Embarcados
06/08/2016 01:30

Obrigado, vou ler.

trackback
02/06/2015 15:31

[…] Arduino - Controle de uma lâmpada com LDR […]

trackback
28/05/2015 08:21

[…] Arduino - Controle de uma lâmpada com LDR […]

trackback
05/05/2015 15:29

[…] Arduino - Controle de uma lâmpada com LDR […]

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
Sensores e soluções para aplicações em indústria inteligente

Data: 13/08 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link