Last Updated on 31 May 2019 by Suffocation
The BH1750 is a light intensity measurement sensor. I am not using the sensor discretely, but on the GY-302 board. It is controlled via the I2C (Wire) bus. Since the GY-302 board operates at 5V, it is suitable for control via the Arduino Uno.
View


Data
| Name | GY-302 with BH1750 Sensor |
|---|---|
| Sensor type | Luxmeter (light intensity measurement) |
| Operating voltage | 5V |
| Sensor voltage | 1.8-3.6V |
| Bus | I2c (0x23 / 0x5C) |
| Accuracy | 1 lux |
| Measurement ranges | 1 – 65535 lux |
Circuit
The circuit is similar (see sketch) to other GY boards. The GY-302 additionally offers the option to choose between two bus addresses. This allows two chips of the same type to be operated on the same bus. The default setting is ground or simply left unconnected.

Annexation
| Ground | Mass |
| Address | I2C Address Ground = 0x23 / +5V = 0x5C |
| Seventh-day Adventist | I2C SDA |
| SCL | I2C SCL |
| VCC | 5 V |
Applications
- Control of blinds or roller shutters
- Finding the brightest spot
- Light measurement in the office
- Time control according to sunrise/sunset
Programming
Library
On Github, there's a library that can control the sensor.
I used these for my tests. The entry in Git also has a detailed description of wiring and usage.
Download the library as a zip file and install it via the library manager (you can see how to do this in here).
Test programme
The library includes 3 test programs, I opted for BH1750test.ino decided.
How a test programme is selected, you will find here.
Path: BH1750->BH1750test.
Output
The output is simple and shows the currently measured lux value.

Unfortunately, I cannot compare how accurate the measurements are due to a lack of reference values.