Light intensity Sensor Module GY-30 - Digital Output, I2C Interface - BH1750FVI

  • Was  RM12.00 
  • RM7.50

  • Product Code: GY-30
  • Availability: In Stock

BH1750FVI is a digital Ambient Light Sensor IC for I2 Cbus interface. This IC is the suitable for obtaining the ambient light data for adjusting LCD and Keypad backlight power of Mobile phone. It is possible to detect wide range at high resolution.

Features:

  • Direct digital output, bypassing the complex calculation, bypassing the calibration
  • Don't distinguish between ambient light
  • Close to the spectral characteristics of visual acuity
  • Widely used to 1-lux high precision measurement
  • Standard NXP IIC communication agreement

Specification:

  • Chip: BH1750FVI
  • Power Supply: 3 - 5V
  • Light Rangeļ¼š0 - 65535 lx
  • Sensor Built-in: 16 bit AD converter
  • Size(L x W): Approx. 3.2cm x 1.5cm

Documents

 

That there will be more luminous flux in some directions and it can increase the illumination of the target surface. 

For example:
Night: 0.001-0.02; 
Moon light night: 0.02-0.3; 
Cloudy indoor: 5-50;
Cloudy outdoor: 50-500;
Sunny indoor: 100-1000;
Under the sunlight in summer afternoon: about 10*6 power; 
Reading books for intensity of illumination: 50-60;
Home video standard intensity of illumination: 1400.

 

Arduino Sketch

/*Sample code for the BH1750 Light sensor
 
 Connection:
 VCC-5v
 GND-GND
 SCL-SCL(analog pin-5)
 SDA-SDA(analog pin-4)
 ADD-NC <-- to asign a different I2C address to the sensor
*/
 
#include <Wire.h> //BH1750 IIC Mode
#include <math.h> 
int BH1750address = 0x23; //setting i2c address
 
byte buff[2];
void setup()
{
   Wire.begin();
   Serial.begin(57600); //init Serial rate
}
 
void loop()
{
   int i;
   uint16_t val=0;
   BH1750_Init(BH1750address);
   delay(200);
 
   if(2==BH1750_Read(BH1750address))
   {
     val=((buff[0]<<8)|buff[1])/1.2;
     Serial.print(val,DEC);     
     Serial.println("[lx]"); 
   }
   delay(150);
}
 
int BH1750_Read(int address)
{
   int i=0;
   Wire.beginTransmission(address);
   Wire.requestFrom(address, 2);
   while(Wire.available()) 
   {
      buff[i] = Wire.receive();  // receive one byte
      i++;
   }
   Wire.endTransmission();  
   return i;
}
 
void BH1750_Init(int address) 
{
   Wire.beginTransmission(address);
   Wire.send(0x10); //1lx reolution 120ms
   Wire.endTransmission();
}

 

Write a review

Note: HTML is not translated!
    Bad           Good