21 de nov. de 2011

Sensor de Luminosidade (Arduino+Leds+LDR)

Descrição:

Nesse circuito iremos fazer um sensor a luminosidade com um LDR e LEDS de acordo com a luminosidade os leds vão apagando 

    Sensor de Luminosidade - LDR


                                  LDR.

LDR (do inglês Light Dependent Resistor ou em português Resistor Dependente de Luz) é um tipo de resistor cuja resistência varia conforme a intensidade de radiação eletromagnética do espectro visível que incide sobre ele.
Um LDR é um transdutor de entrada (sensor) que converte a luz em valores de resistência. É feito de sulfeto de cádmio (CdS) ou seleneto de cádmio (CdSe). Sua resistência diminui quando a luz é muito alta, e quando a luz é baixa, a resistência no LDR aumenta. Um multímetro pode ser usado para encontrar a resistência na escuridão ou na presença de luz intensa. Estes são os resultados típicos para um LDR padrão:
* Escuridão : resistência máxima, geralmente acima de 1M ohms.

* Luz muito brilhante : resistência mínima, aproximadamente 100 ohms.


Materiais:
1x LDR 
1x Arduino(Qualquer Modelo)
5x Leds(Qualquer Cor)
1x  Resistor de 10kΩ
1x Resistor de 220Ω (Opcional)

Circuito:
Circuito de como ligamos a LDR ao Arduino. 


Circuito de como Ligamos os LEDS ao Arduino.

OBS: Monte os dois circuitos juntos NÃO separados


Codigo para IDE Arduino:

//By Radson 
// Blog:  www.tudodearduino.blogspot.com

int ldr_pin =0; //variavel que representa o pino de entrada do sensor LDR 
int ldr_val=0; //variavel que representa o valor de entrada do pino analogico  "0"

void setup()
{
  pinMode(13,OUTPUT); //Led ligado a porta digital 13
  pinMode(12,OUTPUT);//Led ligado a porta digital  12
  pinMode(11,OUTPUT);//Led ligado a porta digital  11
  pinMode(10,OUTPUT);//Led ligado a porta digital  10
  pinMode(9,OUTPUT); //Led ligado a porta digital  9
Serial.begin(9600); // Variavel para ativar a porta serial e a velocidade da porta
}
void loop()
{
ldr_val = analogRead(ldr_pin); //variavel que lê o pino da ldr e sua variação de luz
Serial.println(ldr_val);       // variavel que escreve o valor da LDR na porta serial
delay(15);                     // intervalo de 15 Miliegundos
if(ldr_val >250)               // variavel que representa se a LDR for maio que 250 
  {
  digitalWrite(9,HIGH);        //Acender o led na porta 9 do arduino 
  }  else                      // variavel que indentifica se o valor acima e verdadeiro pois se for falso executa:
   {
  digitalWrite(9,LOW);}       //Apaga o led na porta 9 do arduino

if(ldr_val >200)              // variavel que representa se a LDR for maio que 200
  {
  digitalWrite(10,HIGH);      
  }  else                    
   {
  digitalWrite(10,LOW);}
if(ldr_val >150) 
  {
  digitalWrite(11,HIGH);
  }  else
   {
  digitalWrite(11,LOW);}
if(ldr_val >100) 
  {
  digitalWrite(12,HIGH);
  }  else
   {
  digitalWrite(12,LOW);}
  if(ldr_val>50)
  { 
    digitalWrite(13,HIGH); 
  } else {
    digitalWrite(13,LOW);
    }
}


Vídeo

By Radson