Luximetro com um GY-30 e um Arduino

25 SET
2015

Autor: Leonardo Dalla Porta

Luximetro com um GY-30 e um Arduino

Neste circuito simples, nós usamos um pequeno sensor GY-30 e um Arduino para medir a iluminância em lux. Além da aplicação para medir a iluminação de objetos na fotografia, você pode – com uma extensão deste circuito, também facilmente fazer uma iluminação adaptada de quartos ou jardins. Também é possível realizar um controle automático de brilho para monitores, entre muitas outras aplicações.

Conexões

Nós conectamos o nosso Arduino – neste caso, um Arduino – com o (GY-30)  da seguinte forma:

Arduino
(Nano,  Uno, Mini Pro)
Arduino
(Mega,  mega 2560)
GY-30
5V oder 3.3V (VCC) 5V oder 3.3V (VCC) VCC
GND GND GND
A4 (SDA) D20 (SDA) SDA
A5 (SCL) D21 (SCL) SCL

 modulo-gy-30-medidor-de-iluminncia-bh1750fvi-p-arduino-923901-MLB20423186982_092015-O

O código

Como uma biblioteca adicional não é necessária, precisamos apenas fazer o upload do seguinte esboço para o nosso Arduino:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <Wire.h>
 
int BH1750_address = 0x23; // i2c Addresse
byte buff[2];
 
void setup(){
 
  Wire.begin();
  BH1750_Init(BH1750_address);
 
  delay(200);
  Serial.begin(9600);
  Serial.println("Starte Beleuchtungsstaerkemessung - blog.simtronyx.de");
}
 
void loop(){
 
  float valf=0;
 
  if(BH1750_Read(BH1750_address)==2){
 
    valf=((buff[0]<<8)|buff[1])/1.2;
 
    if(valf<0)Serial.print("> 65535");
    else Serial.print((int)valf,DEC); 
 
    Serial.println(" lx"); 
  }
  delay(1000);
}
 
void BH1750_Init(int address){
 
  Wire.beginTransmission(address);
  Wire.write(0x10); // 1 [lux] aufloesung
  Wire.endTransmission();
}
 
byte BH1750_Read(int address){
 
  byte i=0;
  Wire.beginTransmission(address);
  Wire.requestFrom(address, 2);
  while(Wire.available()){
    buff[i] = Wire.read(); 
    i++;
  }
  Wire.endTransmission();  
  return i;
}

Download do Código Fonte

e depois iniciar o monitor serial, o resultado deve ser semelhante a este:

Medição de iluminância com um BH1750FVI e um Arduino Uno - monitor-blog.simtronyx.de de série

Agora devemos ter uma saída semelhante como mostrado acima. Neste caso, o sensor foi deslocado no tempo ensolarado entre sombra (temporariamente coberto com a mão a uma curta distância) e luz solar direta. Pode ser visto que, em luz solar direta do intervalo de valores do sensor de for excedido muito rapidamente.

 

Qualquer dúvida 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

*

 
WordPress主题
WordPress Themes