Measuring Illuminance with BH1750 and Arduino

Measuring Illuminance with BH1750 and Arduino

The BH1750 measures light the way a proper light meter does — in lux, the actual unit of illumination — rather than the vague, uncalibrated brightness value a simple photoresistor gives you.

Why lux instead of a raw value

The BH1750 reports a digital estimate of illuminance in lux, which is easier to compare than a raw ADC code. It is not a calibrated laboratory photometer; spectrum, cover material, angle, range, and measurement mode affect accuracy.

Components needed

An Arduino Uno, a BH1750 digital light sensor module, and jumper wires.

Wiring it up

The device uses I2C and its address depends on the ADDR strap. Check breakout voltage and bus pull-ups, select the required mode and integration time, and detect saturation in high light.

Programming it

Using the Wire.h and BH1750 libraries, the sketch initializes the sensor in continuous high-resolution mode and calls readLightLevel() roughly once per second, printing the resulting lux value directly to the Serial Monitor.

Where this is used

Because it gives an actual calibrated light-level reading, the BH1750 fits automatic brightness-adjustment projects well — dimming an LCD backlight or a keyboard's backlighting based on real ambient light, the same kind of adaptive brightness control found in phones.

Engineering review: verify the library version, module operating voltage, and the actual board pinout before wiring; visually similar breakout boards can differ.

You can find BH1750 digital light sensor modules at Juthour Tech.

اترك تعليقا

*
*
يمكن للأعضاء المسجلين فقط ترك تعليقات.