• COMPONENTE
    LDR

O que é?

O fotoresistor, conhecido pela sigla LDR "Light Dependent Resistor" ou "Resistor Dependente de Luz" é um componente eletrônico capaz de detectar a intensidade da luz.

Assim como um resistor comum, o fotoresistor tem por finalidade limitar a corrente elétrica que passa por ele, entretanto, podemos definir o LDR como um resistor variável. O componente funciona da seguinte forma: Quanto mais luz incidir sobre sua superfície, menor será a resistência, e quanto menos luz incidir sobre sua superfície, maior será a resistência.

Led 5mm arduino
LDR arduino

Polarização

O fotoresistor possui tamanho compacto, valor acessível e sua utilização é bastante simples. Pode ser utilizado em diversas aplicações com Arduino.
OBS: O LDR pode levar até 10ms para detectar a mudança de um ambiente escuro para um claro.

O fotoresistor possui tamanho compacto, valor acessível e sua utilização é bastante simples. Pode ser utilizado em diversas aplicações com Arduino.
OBS: O LDR pode levar até 10ms para detectar a mudança de um ambiente escuro para um claro.

LDR arduino

Montagem dos componentes

Abaixo está um exemplo de teste para um LDR acender um LED com a presença de luz direta:

LISTA DOS COMPONENTES

  • 1 x Arduino Uno SMD
  • 1 x Cabo USB para comunicação
  • 1 x Protoboard 400 pontos
  • 1 x Sensor LDR
  • 1 x Led de 5mm
  • 1 x Resistor 10kΩ
  • 1 x Resistor 220Ω
  • 4 x Jumpers macho/macho
Esquema montagem led 5mm

Código exemplo

O código de exemplo abaixo é referente ao esquema ilustrado acima.

IDE Arduino
//Sensor de luz com LDR
 
int PinLed = 11; //Led conectado ao pino 11
int Pinldr = A5; //LDR conectado ao pino analógico 5
int Valorldr = 0; //variavel que ira receber o valor do LDR

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

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

    //se o valor lido for maior que 800, liga o led
    if (Valorldr>= 800) digitalWrite(PinLed,HIGH);
        // se não, apaga o led
    else digitalWrite(PinLed,LOW);

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