bmp1750
Objective

In this project, we will use Arduino to read light strength value from BH1750FVI  digital light sensor and print it to serial window.

Parts and Devices:

Arduino UNO R3 x 1

BH1750FVI  light sensor x 1

Circuit Graph:

BH1750

Sample Code:
#include //IIC
#include

int BH1750address = 0x23;

byte buff[2];

void setup()

{
Wire.begin();
Serial.begin(9600);
}
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.read();  // receive one byte
i++;
}
Wire.endTransmission();
return i;
}
void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.write(0x10);//1lx reolution 120ms
Wire.endTransmission();
}

Result:

Put the sensor under light, run above code in Arduino IDE. Open serial window in upright corner of Arduino IDE, you will see light strength value as following picture:

1

Put a flash light before BH1750 sensor,you will see light value becomes bigger

2