Usando um LDR e um Arduino é possível projetar um circuito que acende as luzes ao anoitecer. Ficou interessado? Veja só:
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.
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 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.
|
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!