Make A BH1750 Digital Light Sensor Using Arduino

BH1750FVI Is a Digital Light sensor , which is an digital Ambient Light Sensor IC for I2C bus interface. This IC is the most suitable to obtain the ambient light data for adjusting LCD and Keypad backlight power of Mobile phone. It is possible to detect wide range at High resolution.( 1 – 65535 lx ).

BH1750 Digital Light Sensor
this sensor has some advantages such like :

1) Illuminance to Digital Converter
2) Wide range and High resolution. ( 1 – 65535 lx )
3) Low Current by power down function
4) 50Hz / 60Hz Light noise reject-function
5) I2C bus Interface ( f / s Mode Support )
6) No need any external parts
7) It is possible to select 2 type of I2C slave-address.
8) It is possible to detect min. 0.11 lx, max. 100000 lx by using this function.

[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]
DataSheet for this sensor will be found here 

it’s easy to use and connect , so Let’s started

We will need :

1) Arduino Board” Uno, Nano, mini .. ”

2)BH1750 Breakout .

3)Solderless Jumper

4)CD4050 Hex Buffer IC , Or 510 Ohm resistor *3

5)BreadBoard [/box].

Step 1: Definition of luminous ,Lumen

illuminance is a measure of how much luminous flux is spread over a given area. One can think of luminous flux (measured in lumens) as a measure of the total “amount” of visible light present, and the illuminance as a measure of the intensity of illumination on a surface

Lumen : The unit for the quantity of light flowing from a source in any one second (the luminous power, or luminous flux) is called the lumen.

In our sensor we will take a reading from it in Lux which is equal  to one lumen per square metre:

Lux = 1 Lm/m2 .

Step 2: Datasheet …..inside

The Datasheet  for BH1750 has a specification of :

Supply voltage : prefer to use 3.3 V to communicate with , Not 5V TTL Logic

I2C Protocol is used to communicate with Microcontroller , with clock SCL Frequency 400KHz .

Measurement mode: this sensor has 3 Measurement mode :

1) H-resolution with Sensitivity 0.5 lux
2) H-Resolution with Sensitivity 1 lux.
3) L-Resolution with Sensitivity 4 lux.

the datasheet recommended  to use H-Resolution Mode due to kind of noise( including in 50Hz / 60Hz
noise ) is rejected. And H-Resolution Mode is 1 l x resolution so that it is suitable for darkness ( less than 10 lx )

the Instruction Set Architect table show all commend you will need to write a code .


For more detail: Make A BH1750 Digital Light Sensor Using Arduino



About The Author

Scroll to Top
Read previous post:
Brute force attack a BIOS with Arduino
Brute force attack a BIOS with Arduino

The goal of this experiment is to convert the Arduino board into an USB keyboard plus a VGA sniffer to...