Projetos

Controle de Brilho com LDR

Eletrogate 23 de julho de 2020

Introdução

Usando um LDR e um Arduino é possível projetar um circuito que acende as luzes ao anoitecer. Ficou interessado? Veja só:

Conhecendo o LDR:

O LDR (Light Dependent Resistor ou Resistor Depentende de Luz, em tradução literal) é um componente que, como o próprio nome já diz, varia sua resistência conforme a quantidade de luz incidida sobre ele. De forma simples, quanto mais luz o LDR receber, menor será sua resistência. Caso haja pouca luz sobre ele, sua resistência aumenta.

É um componente que pode ser aplicado para fazer a automação de luzes, sensor de cores, sensor de alarme, e várias outras aplicações.


Materiais Necessários para o Projeto Controle de Brilho com LDR

cta_cart


Montando o Circuito

A montagem do circuito é bem simples, basta seguir o esquemático abaixo e não terá grandes complicações. Lembre-se de conectar o led ao pino digital 6 e o LDR ao pino analógico A0, para que tudo funcione corretamente.


O Código

O código do nosso projeto tem como propósito receber o sinal analógico vindo do LDR (que varia de 0 a 1023) e converter em um sinal de PWM (que varia de 0 a 255) para ser enviado ao pino de saída, onde o led está conectado, fazendo com que a taxa de brilho do led seja inversamente proporcional à taxa de luz incidida sobre o LDR. No código abaixo está detalhado toda a lógica de funcionamento do programa, veja só:

//nomeia os pinos referentes a cada componente
#define pinLed 6
#define LDR A0 

int valorLDR;  //armazena o valor do sinal analógico enviado pelo LDR
float luminosidade;  //armazena o valor do sinal analógico convertido em PWM 
   
void setup(){  
  Serial.begin(9600);  //inicia de define a velocidade da comunicação serial
  pinMode(LDR, INPUT); //define o pino onde o LDR está conectado como entrada de sinal 
  pinMode(pinLed, OUTPUT); //define o pino onde o led está conectado como saída de sinal 
}  
   
void loop(){  
  valorLDR = analogRead(LDR);  //faz a leitura do LDR e armazena o valor analógico 
  luminosidade = map(valorLDR, 0, 1023, 0, 255); //converte o sinal analógico em PWM
  //exibe os valores lidos no monitor serial
  Serial.print("Valor lido do LDR: ");   
  Serial.println(valorLDR); 
  //exibe os valores convertidos no monitor serial
  Serial.print(" = Luminosidade: ");
  Serial.println(luminosidade);
  analogWrite(pinLed, luminosidade); //liga o led de acordo com o valor do PWM recebido
 }

Agora basta carregar o código no Arduino e verificar a intensidade do led de acordo com a sombra projetada no LDR.

Você também pode, com a adição de um módulo Power PWM e algumas alterações no código criar um sistema de iluminação ambiente que varia conforme a luz solar ao longo do dia. Use sua criatividade!


Você curtiu a ideia e resolveu montar um sistema automático de iluminação para a sua casa? Tira uma foto e nos marque no instagram @eletrogate

Gostou do post? Deixe um curtir. Ficou com dúvidas? Deixe um comentário.

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre o Autor


Samuel Martins
@samuel.martins192

Cursando Eletroeletrônica no SENAI CETEL. Fanático por eletrônica, automação, impressão 3D e afins, dedico meu tempo livre a pesquisas e projetos ligados às principais áreas de interesse, pratico aeromodelismo e sou curioso por astrofotografia.


Eletrogate

23 de julho de 2020

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!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!