LDR

LDR

Sensor de Luz - Aprendendo a usar o LDR

 LDR (Light-Dependent Resistor) significa resistor dependente de luz. 
 O seu uso é bastante interessante, pois é possível fazer com que uma lâmpada se ligue sozinha quando a luz incidente no dispositivo for menor que a desejável. É um componente muito utilizado  para detectar o amanhecer e o anoitecer, nos conhecidos interruptores crepusculares ou fotocélulas. Este tipo de componente é muito utilizado em iluminação pública e também privada (garagens e áreas comuns) em todo o mundo.

Isso acontece porque o LDR possui o sensor feito de material semicondutor, que faz com que sua resisitência varie de acordo com a irradiacão incidente sobre o dispositivo. A resistência elétrica do LDR aumenta com a diminuição da intensidade luminosa, e diminui com o aumento da intensidade luminosa. Logo, se a resitêcia é baixa, o LED permanecerá apagado. Enquanto se a resitência for alta, o LED acenderá.

A resistência elétrica do LDR sob luz intensa pode variar entre 1.000 ohms e 10.000 ohms, e sem presença de luz é sempre maior que 200.000 ohms, segundo datasheets fornecidos na página oficial do Arduino e também da Sparkfun.

A construção físico-química do material semicondutor do LDR não permite que ele seja sensível a uma grande faixa do espectro de ondas eletromagnéticas; segundo os datasheets mencionados a faixa mais sensível do LDR é ao redor de 540nm, que fica entre a luz visível verde e amarela. (por isso é muito utilizado para detectar o amanhecer e o anoitecer). (Fonte: http://fritzenlab.com.br/2016/01/como-funciona-um-ldr-resistor-dependente-de-luz/)

Para fazer um sensor de luz são necessários:

  • Fios Jumper’s
  • Protoboard
  • Arduino Uno Rev3
  • 1 LED
  • 1 Resistor 300Ohm
  • 1 LDR
  • 1 Resistor 10 kOhm

A montagem no hardware é a seguinte:

Attach:sensor-de-luz_bb1-1024x452.png Δ

Abaixo o código fonte para montagem acima:


 //Sensor de luz

 int ledPin = 7; //Led no pino 7
 int ldrPin = 0; //LDR no pino analígico 8
 int ldrValor = 0; //Valor lido do LDR

 void setup() {
 pinMode(ledPin,OUTPUT); //define a porta 7 como saída
 Serial.begin(9600); //Inicia a comunicação serial
                     }

  void loop() {
  ///ler o valor do LDR
  ldrValor = analogRead(ldrPin); //O valor lido será entre 0 e 1023

  //se o valor lido for maior que 500, liga o led
  if (ldrValor>= 800) digitalWrite(ledPin,HIGH);
  // senão, apaga o led
  else digitalWrite(ledPin,LOW);

  //imprime o valor lido do LDR no monitor serial
  Serial.println(ldrValor);
  delay(100);
                    }

O resultado esperado é que ao cobrir o LDR, o LED acenda.


Voltar Documentação

Page last modified on March 20, 2019, at 06:33 PM