Sensor de Luz com arduino

Neste artigo iremos controlar um LED através do sensor de luz chamado de LDR.

O LDR nos permite que no momento que ocorrer baixa luminosidade no ambiente o LED acenda caso contrário que o LED se apague.

LDR

LDR (Light Dependent Resitor ou Resistor Dependente de Luz).

Lista de Componentes

  • 1 Placa arduino uno
  • 1 LDR
  • 1 LED 5mm
  • 2 Resistores 10 K – marrom, preto, laranja
  • 7 Fios jumper
  • 1 Protoboard
  • 1 Cabo USB para o arduino

Diagrama de Montagem

LED, LDR e arduino

Programação Arduino

Teste 1


/*
LED controlado por LDR com arduino
*/
int led = 2; //Pino digital ligado ao anodo do led
int ldr = 1; //Pino analogico ligado ao LDR
int valor = 0; //Armazena valor lido do LDR, entre 0 e 1023
float luz = 0; //Quantidade de luz do led

void setup()
{
Serial.begin(9600); //Inicializa a serial
pinMode(led, OUTPUT); //Define o pino digital do led como saída
pinMode(ldr, INPUT); //Define o pino analogico do LDR como entrada
}

void loop()
{
// Le o valor - analogico - do LDR
valor = analogRead(ldr);

// Converte o valor analogico lido do LDR
luz = map(valor, 0, 1023, 0, 255);
Serial.print("Valor lido do LDR : ");

// Mostra o valor lido do LDR no monitor serial
Serial.print(valor);
Serial.print(" = Luminosidade : ");

// Mostra a quantidade de luz no monitor serial
Serial.println(luz);

// Acende o led conforme a quantidade de luz lido do LDR
analogWrite(led, luz);
}

Teste 2


/*
 LED controlado por LDR com arduino
*/
int led = 2; //Pino digital ligado ao anodo do led 
int ldr = 1; //Pino analogico ligado ao LDR 
int valor = 0; //Armazena valor lido do LDR, entre 0 e 1023
 
void setup() 
{ 
 Serial.begin(9600); //Inicializa a serial 
 pinMode(led, OUTPUT); //Define o pino digital do led como saída 
 pinMode(ldr, INPUT); //Define o pino analogico do LDR como entrada 
} 
 
void loop() 
{ 
 // Le o valor - analogico - do LDR 
 valor = analogRead(ldr);
 Serial.print("Valor do LDR : ");
 Serial.println(valor);
 
 // Valor do LDR é maior que 400
 if(valor > 400){
 digitalWrite(led, HIGH); // acende o LED
 }else{
 digitalWrite(led, LOW); // apaga o LED
 }
}

Projeto em Funcionamento 

Teste 1

Teste 2

Gostou desse artigo participe deixando seu comentário.

Vejo você no próximo artigo.

Tagged as: