Medição da luz com um Arduino e LDR

09 SET
2015

Autor: Leonardo Dalla Porta

Veja como utilizar um LDR como um luxímetro, pra quem não sabe, luxímetro é um dispositivo criado para medir a incidência de luz em certo ambiente, bancada e geralmente um luxímetro sai um pouco caro, assim você mesmo pode fazer o seu!

A maneira mais fácil de medir a luz com um Arduino é com um LDR.
(Light dependend Resistor) do LDR tem uma baixa resistência à luz brilhante e uma alta resistência na escuridão.
Se você faria-nos o LDR como a parte inferior de um divisor de tensão, em seguida, na escuridão, haveria uma alta tensão através da LDR, enquanto que à luz do dia, haveria uma baixa tensão ao longo desse resistor.
Claro que se seria usá-lo como a parte superior de um divisor de tensão, que seria o contrário: baixo tensão na escuridão, de alta tensão na luz brilhante

Você Precisará de:

  • 1 LDR
  • 1 Resistor de 10K
  • 1 Arduino

    Montagem

    ldr

Códigos e cálculos

Fazer isso em uma porta analógica do arduino, daria uma leitura entre 0 e 1.024, o que é claro são realmente números não descritivos.
O que você quer é uma saída em Lux ou Lumen
Isso é possível, mas lembre-se que LDR de não são realmente precisas para leituras precisas.
Há uma fórmula ligeiramente simples que se refere à resistência de um LDR à luz em lux.

Rldr=500/Lux, ou
Lux=500/Rldr (in kOhm)

como Rldr está relacionada com a tensão medida sobre ele, lendo a tensão sobre ele, pode ser utilizado para calcular assim o nível do Rldr e Lux
Se o LDR é a parte inferior de um divisor de tensão de 5 volts e um resistor 10k na parte superior, a tensão será:
Vout=(5/(10+Rldr))*Rldr
Vout=5*Rldr/(10+Rldr)

como não é para medir uma tensão, mas com um valor entre 0 e 1024, cada passo pode ser definido por: 5/1024=0.0048828125.
=> Vout=Analogreading*0.0048828125
as Rldr=(10Vout)/(5-Vout) (remember Rldr is expressed in kOhm)
=> Lux=(500*(5-Vout))/(10*Vout)
=> Lux=(2500-500*Vout)/(10*Vout)
=> Lux=(2500/Vout-500)/10
=> Lux=(2500/((AnalogRead*0.0048828125)-500))/10

 

 

De qualquer forma, o código do arduino deve ser assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Lux
double Light (int RawADC0){
double Vout=RawADC0*0.0048828125;
//int lux=500/(10*((5-Vout)/Vout));// <span lang="pt">usar esta equação , se o LDR está na parte superior do divisor</span><code><code>
int lux=(2500/Vout-500)/10;
return lux;
}
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println(int(Light(analogRead(0))));
delay(1000);
}
</code></code>

Qualquer duvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Deixe um comentário

Free WordPress Theme

*

 
Free WordPress Themes
WordPress Themes