Tutorial: Como utilizar a Mini Fotocélula (LDR)

 

Adquira estes componentes na Loja do Lab de Garagem

Olá Garagistas! No tutorial de hoje, mostraremos como utilizar o LDR. Como demonstração, utilizaremos um Arduino para fazer o acionamento de uma lâmpada quando a luminosidade do ambiente estiver muito baixa, sem a necessidade de fazer algum acionamento por interruptores, como geralmente vimos acontecer com os postes de iluminação pública, quando anoitece ou quando o tempo está muito fechado.

 

Material Utilizado:

1x LDR

1x Arduino

1x Resistência 10KΩ

1x Módulo Relé

1x Lâmpada 110V

1x Cabo AC

1x Protoboard

Alguns Jumpers

1. O LDR

Imagem 1 - LDR

 

O LDR(Light Dependent Resistor) possui uma característica que faz com que sua resistência varie conforme a luminosidade incendida sobre ele. Isto possibilita a utilização deste componente para desenvolver um sensor que é ativado (ou desativado) quando sobre ele incidir uma certa luminosidade.

A resistência do LDR varia de forma inversamente proporcional à quantidade de luz incidente sobre
ele, isto é, enquanto o feixe de luz estiver incidindo sobre ele, o LDR oferece uma resistência muito baixa, e
quando este feixe é cortado, sua resistência aumenta.

 

Figura 1 - Representação do Funcionamento do LDR

2. A Montagem

2.1) Módulo Relé

 

Faça as ligações de sua lâmpada com o módulo relé, conforme a imagem abaixo.

Imagem 2 - Montagem do Módulo Relé + Lâmpada

2.2) Circuito

Faça a montagem do circuito, conformea figura abaixo.

Figura 2 - Circuito da demonstração

3. O Sketch


#define LAMP 8 //Define o LAMP como 8


int LDR; //Variável para a leitura do LDR
int cont; //Variável utilizada para armazenar os valores lidos pelo sensor
int i; //Variável para contagem


void setup()
{
  pinMode(LAMP,OUTPUT); //Define o pino D8 como saída
  Serial.begin(9600); //Inicia a serial
}
void loop()
{
  LDR=0; //Zera a variável LDR
  for(i=0;i<=10;i++) //Faz 10 vezes a leitura do sensor
  {
  cont=analogRead(A0); //Lê o valor do sensor (LDR ligado ao pino A0) e guarda na variável LDR
  LDR = LDR+cont; //Armazenamento na varíavel LDR o valor lido + o valor anterior
  delay(10); //Delay se 10 milissegundos
  }
  LDR=LDR/10; //Divide o valor armazenado por 10
  Serial.println(LDR); //Imprime o valor do LDR

  (LDR >= 400) ? (digitalWrite(LAMP,HIGH)) : (digitalWrite(LAMP,LOW));
  //Se o valor lido (luminosidade) for maior ou igual a 400, liga a lâmpada, senão desliga a lâmpada
}

 

Exibições: 37528

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Matheus Felipe da Silva em 22 outubro 2016 às 19:33

Cara, ce nao sabe o quanto me ajudou com esse post.

Consegui acertar uns detalhes do meu projeto.

Valeu

Comentário de Ewerton em 6 agosto 2015 às 18:32

Em qual base foi definido uso de um resistor de 10 k para SENSOR LDR ?

Abraços.

Comentário de Laboratório de Garagem em 21 janeiro 2014 às 8:06

Postagem Corrigida.

Valeu Galera!

Atenciosamente,

Equipe LdG.

Comentário de Leonardo Barichello em 22 outubro 2013 às 9:45

Concordo com o Maurício, o comportamento da resistência do LDR está invertido.

Comentário de Alan beraldi chiosini em 6 setembro 2013 às 20:30
a figura 2 sumiu
Comentário de Maurício garcia de souza em 14 agosto 2013 às 21:59

Oi, na fig. 1 eu acho que deveria estar escrito "Com luminosidade R--->0 (resistência tende a zero), e sem luminosidade R--->p/ infinito.", mas acho que ta ao contrário.

Outra coisa. Montei o circuito conforme o esquema, e copiei e colei o sketch na ide do arduino, mas após ter transferido o programa, o mesmo não funcionou conforme o esperado. quando vc montou o seu funcionou como vc queria.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço