blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Módulo Power PWM
  • Aspectos de Hardware
  • Aspectos de Software
  • Botando pra rodar!
  • Considerações finais
  • Sobre o Autor
Componentes Eletronicos

Controle de luminosidade com Arduino e sensor LDR

Eletrogate 18 de setembro de 2017Atualizado em: 15 abr 202210 min

Introdução

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:

  • Modelo: GL5528 (DatasheetLDR)
  • Diâmetro: 5mm
  • Tensão máxima: 150VDC
  • Potência máxima: 100mW
  • Temperatura de operação: -30°C a 70°C
  • Espectro: 540nm
  • Comprimento com terminais: 32mm
  • Resistência no escuro: 1 MΩ (Lux 0)
  • Resistência na luz: 10-20 KΩ (Lux 10)

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

Fotoresistor


Módulo Power PWM

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:

  • Transistor Canal N;
  • Tensao maxima de trabalho 200V;
  • Corrente Maxima com dissipador 5.2A;
  • Corrente Maxima sem dissipador 1.5A;

A imagem abaixo mostra um típico módulo PWM para acionamento de cargas:


Aspectos de Hardware

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).

A lista de componentes para a montagem é a seguinte:

  • Protoboard;
  • Arduino UNO;
  • Resistor de 10k ohms;
  • Sensor LDR;
  • Módulo Power PWM;
  • Fonte de alimentação externa 0-30V – 0 -5A;
  • Luminária Led 12;

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

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.


Aspectos de Software

#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.

  • map(valor, min1,max1,min2,max2) : Essa função faz uma tradução de escala. No nosso caso, a leitura do canal analógico varia entre 500 e 1024(valores obtidos experimentalmente deixando o LDR exposto à iluminação local e cobrindo-o com um invólucro). Mas o Duty Cycle do PWM é ajustado numa escala de 0 a 255. Assim, usamos essa função para mapear o valor que foi lido(que pertence ao range ( 500-1024)  para um valor correspondente no range 0-255;
  • analogWrite(valor): Essa é a função que gera o sinal PWM. Como argumento nós passamos o valor de Duty Cycle, que é um valor que varia de 0(0% Duty Cycle) a 255(100% de Duty Cycle). Veja mais em analogWrite;

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.


Botando pra rodar!

A imagem abaixo mostra como ficou a montagem.

Montagem LDR

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.


Considerações finais

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!


Sobre o Autor


Vitor Vidal

Engenheiro eletricista, mestrando em eng. elétrica e apaixonado por eletrônica, literatura, tecnologia e ciência. Divide o tempo entre pesquisas na área de sistemas de controle, desenvolvimento de projetos eletrônicos e sua estante de livros.


Eletrogate

18 de setembro de 2017 Atualizado em: 15 abr 2022

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.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.