\ Projetos com sensor LDR

Projetos com sensor LDR

O LDR (Light Dependent Resistor) é um dispositivo cuja resistência varia em função da luminosidade que incide sobre ele, devido ao material fotossensível que cobre o componente (ocorre um efeito fotoelétrico interno). A ação dos fótons incidentes nesses materiais causa a quebra de ligações covalentes, o que aumenta o número de elétrons livres na banda de condução do material, alterando, assim, a resistência do dispositivo. Esse material tem a propriedade de diminuir sua resistência quando a luminosidade sobre ele aumenta; já quando se torna escuro ou a luminosidade é baixa, sua resistência é aumentada.

Antes de inciar os projetos, devemos calibrar nossas leituras de acordo com o LDR que utilizaremos no projeto; ao longo desse artigo, utilizarei um LDR de 10 mm. Monte o circuito conforme o esquema abaixo.

Figura 1: circuito para calibrar o sensor LDR.

Uma das pontas do LDR está ligada ao pino +5V , enquanto a outra ponta está ligada à entrada analógica A0 do Arduino e a um resistor de 10K Ohms (ligado ao pino GND do Arduino). A seguir, carregue o sketch de impressão serial no Arduino. 

Vamos mudar as condições de iluminação sobre o LDR aproximando sobre uma fonte de luz e depois cobrindo com as mãos. As leituras deveriam variar de 0 a 1024, entretanto, como o resistor nunca terá resistência nula é provável que isso não ocorra. Para o LDR utilizado em nossos projetos em uma situação de um ambiente sem luz foi encontrado um valor de cerca de 880; em luz ambiente o valor registrado foi de cerca de 410, enquanto que em um ambiente de forte luz o valor encontrado foi de cerca de 10. Esses valores irão variar para você de acordo com as suas condições de iluminação, o valor do resistor que está usando e o valor de seu LDR.

// sketch para calibrar as leituras do LDR
int val=0;
const int LDR=A0;
void setup() {
  Serial.begin(9600);
}
void loop() {
  val=analogRead(LDR);
  Serial.println(val);
  delay(500);
}code-box

Projeto 1: Sensor de Iluminação

O LDR é utilizado no controle de luminosidade exposta em sua face. O exemplo mais comum são as fotocélulas que controlam o acendimento de poste de iluminação e luzes em prédios. Baseado em uma aplicação como essa, vamos desenvolver um aplicação que monitore o valor analógico de um divisor resistivo e, em função de um limiar desse valor, acende ou apaga um LED de informação. Estabeleça que: com a incidência de luz, o LED se apaga, e ao escurecer o LDR (cobrindo-o) o LED se acende. Abaixo temos a lista de componentes que utilizaremos no projeto.

Materiais Utilizados

1 LDR de 10mm;
1 LED vermelho;
1 resistor de 150 Ohms (será ligado ao LED);
1 resistor de 10K Ohms (será ligado ao LDR);
1 Arduino Uno R3 (ou compatível);
Cabos Jumpers.

Esquema de ligação

Figura 2: Projeto sensor de iluminação.

Sketch Utilizado

//Projeto 1: Sensor de iluminação
int portaled=2;
int portaLDR=A0;
void setup(){
  pinMode(portaled, OUTPUT);
}
void loop(){
  int estado = analogRead(portaLDR);
  if (estado>500){
    digitalWrite(portaled, HIGH);
  }
  else{
    digitalWrite(portaled, LOW);
  }
}code-box

Projeto Funcionando



Projeto 2: Sensor LDR com Sirene

Nesse projeto iremos desenvolver um sistema de monitoramento de um cofre quando aberto aciona uma sirene. O cofre fechado (condição com pouca luz) a sirene fica desligada, entretanto, quando aberta a porta do cofre (condição com luz ambiente) a sirene é acionada. Tanto o material utilizado (adicionamos um buzzer ativo e retiramos o LED) quanto o esquema de ligação são semelhantes aos do projeto anterior.

Materiais Utilizados

1 LDR;
1 buzzer ativo SFM-27;
1 resistor de 220 Ohms (ligado ao buzzer);
1 resistor de 10K Ohms (ligado ao LDR);
1 Arduino Uno R3 (ou compatível);
Cabos Jumpers.

Esquema de ligação

Figura 3: projeto com LDR com Sirene.

Sketch Utilizado

//Projeto Sensor LDR com Sirene
int portaBuzzer=2;
int portaLDR=A0;
int freq=240;
void setup() 
{
 // nao faz nada
}
void loop() 
{
  int sensorValor = analogRead(portaLDR);
  if (sensorValor<500)
  {
    if (freq == 240)
    {
       freq = 120;
    } 
    else  
    {
       freq = 240;
    }
    tone(portaBuzzer,freq);  // liga a sirene
  }
  else
  {
    noTone(portaBuzzer); // desliga a sirene
  }
}code-box


Projeto Funcionando



Abaixo um resumo dos dois projetos desenvolvidos. Se gostou curta, compartilhe e se inscreva em nossas redes. Até a próxima!




Post Um Comentário

Postagem Anterior Próxima Postagem