Neste artigo vamos usar um sensor LDR e um módulo Power PWM para fazer o ajuste automático de uma luminária LED. Quanto mais escuro o ambiente, maior a potência que vamos usar para acionar a luminária. Com ambientes claros e bem iluminados, automaticamente o circuito diminui o fluxo de corrente. O controle será feito via PWM. A leitura da variação da luminosidade local será feita com um fotoresistor (LDR).
O Sensor de Luminosidade LDR (Light Dependent Resistor) é um componente cuja resistência varia de acordo com a intensidade da luz. Ou seja, é um fotoresistor. Quanto mais luz incidir sobre o componente, menor a resistência elétrica.
Neste projeto vamos usar um LDR modeo GL558. Este sensor também é usado em módulos eletrônicos como este, nos quais o sensor vem integrado a um circuito comparador. O módulo comparador pode ser usado tanto para controle on-off(saída digital) como para controle linear(saída analógica). Há também modelos que já vem integrados com relés de acionamento. No nosso caso, vamos usar o sensor avulso(sem estar integrado em um módulo), ligando-o diretamente no nosso circuito.
É importante considerar a potência máxima do sensor, que é de 100mW. Ou seja, com uma tensão de operação de 5V, a corrente máxima que pode passar por ele é 20mA. Felizmente, com 8K ohms(que medimos experimentalmente com o ambiente bem iluminado), que é a resistência mínima, a corrente ainda está longe disso, sendo 0,625mA. Dessa forma, podemos interfacear o sensor diretamente com o Arduino.
Especificações:
Este sensor de luminosidade pode ser utilizado em projetos com arduino e outros microcontroladores para alarmes, automação residencial, sensores de presença e vários outros. A imagem abaixo mostra o LDR que será usado no projeto.
Fotoresistor
O módulo power PWM nada mais é do que um pequeno circuito com um Transitor de Potência TIP122 para chavear sinais de maiores potências. Por meio do módulo podemos usar um sinal de PWM gerado pelo arduino para controlar um sinal de potência para acionar uma carga. Por exemplo, podemos usar uma fonte externa com potência suficiente para acionar um conjunto de LEDs de potência. Variando-se o Duty Cycle do PWM, nós variamos a potência entregue ao conjunto de LEDs e, consequentemente, a intensidade da luz.
Neste projeto será essa a função do módulo PWM.
Em outras aplicações, ele pode ser usado no controle de velocidade de motores de corrente contínua, ventoinhas, brinquedos elétricos e acionamento de cargas variadas.
As especificações são as seguintes:
A imagem abaixo mostra um típico módulo PWM para acionamento de cargas:
Para podermos ler as variações de tensão resultantes da variação na resistência, vamos usar o sensor como parte de um divisor de tensão. Assim, a saída do divisor será dependente apenas da resistência do sensor, pois a tensão de entrada e a outra resistência são valores conhecidos. No nosso caso, vamos usar um resistor de 10K e uma tensão de operação de 5V. Assim, o sinal que vamos ler no arduino terá uma variação de 2,2V(quando o LDR for 8K) e 5V(quando o LDR for tiver resistências muito maiores que o resistor de 10K).
Materiais necessários para o projeto Controle de luminosidade com Arduino e sensor LDR
A luminária que vamos usar é uma matriz de Leds de potência usada para iluminar miniestúdios de fotografia(como este). Assim, uma aplicação direta desse post é no controle de iluminação de estúdios fotográficos portáteis.
De posse dos componentes, monte o circuito abaixo:
Montagem LDR
Por praticidade, ilustramos a luminária como sendo um Led convencional. Veja que o módulo PWM possui 7 pinos. Dois são o + e – da fonte de alimentação externa, geralmente indicados como “IN”. Os outros + e – com a indicação de “OUT” são os terminais que devem ser ligados à carga. Os três pinos são referentes ao controle PWM: VCC, GND e IN. VCC e GND devem ser conectados à alimentação do próprio Arduino UNO. O canal In do PWM foi conectado à saída digital 6, que será usada para gerar o PWM.
O LDR ficou com um dos resistores do divisor de tensão, e sua saída foi conectada à entrada analógica A0.
#define pinoPWM 5 #define AnalogLDR A0 #define BrilhoMax 1024 #define BrilhoMin 500 int Brilho = 0; int Leitura = 0; int LeituraAnterior = 0; void setup() { pinMode(pinoPWM, OUTPUT); //Define a porta do Led como saída Serial.begin(9600); } void loop() { Leitura = analogRead(AnalogLDR); //Lê o valor fornecido pelo LDR Serial.print("Leitura sensor LDR = "); Serial.println(Leitura); Brilho = map(Leitura, BrilhoMin, BrilhoMax, 10, 255); Serial.print("Duty Cycle calculado = "); Serial.println(Brilho); analogWrite(pinoPWM,Brilho); LeituraAnterior = Leitura; delay(10); }
Acima temos o programa utilizado.
Duas funções são fundamentais no Loop principal.
Assim, fazemos a leitura do LDR com o analogRead(pino) e com base no valor lido ajustamos o Duty Cycle do PWM.
Com esse circuito e firmware, quando o LDR está exposto à iluminação ambiente, a luminária LED é acionada com Duty Cycle próximo de zero, ou seja, com luz muito fraca. Quando o ambiente escurece, a luminária é acionada com Duty Cycle próxima a 100%, ou seja, é acesa na potência nominal.
A imagem abaixo mostra como ficou a montagem.
Montagem LDR
A montagem é simples, mas permite fazer projetos bem interessantes para controlar luminárias. O mesmo esquemático pode ser usado para controlar motores e outras cargas com base na variação de luminosidade.
Com o LDR e o módulo power PWM você pode fazer várias montagens para controlar luminosidade ou mesmo apenas medir o quão bem um ambiente está iluminado. Se tiver alguma dúvida, deixe nos comentários para que possamos te ajudar. Até a próxima!
Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!