chipKIT Project 4: Digital light meter

A light meter is used to measure the intensity of illumination in a given area. It is widely used in schools, warehouses, factories, hospitals, officeĀ buildings, museums, art-galleries, parkingĀ garages, stadiums, and many more,Ā to measure and maintain proper lighting levels. The intensity of illumination is usually expressed in Lux or foot-candles. As the 4th project in our chipKIT tutorial series, today we are going to build a digital light meter using the chipKIT Uno32 board and the BH1750 digital light sensor. This project usesĀ Digilentā€™s chipKIT Basic I/O shieldĀ for displaying the measured light intensity in Lux, foot-candles, and Watts/m^2 units.

Digital light meter using chipKIT Uno32
Digital light meter using chipKIT Uno32

What do we need?

In order to build this project, we will need the following things.

BH1750FVI sensor board
BH1750FVI sensor board

This project uses the BH1750FVI sensor (datasheet) to measure the intensity of surrounding light. BH1750FVI is a calibrated digital sensor IC that converts the incident light intensity into a 16-bit digital number (0-65535). The 16-bit output can be converted to Lux by simply dividing it by 1.2. Thus it can measure the maximum ambient light intensity of 65535/1.2 = 54612 Lux. The spectral response function of the sensor is approximately close to that of the human eye. The sensor supports the I2C interface. The 7-bit I2C address of the sensor can be set to 0Ɨ23 by grounding the ADDR pin, and to 0x5C by connecting ADDR to VCC. It is grounded by default through a pull-down resistor on board.

Circuit setup

The setup for this project is very simple. The JP6 and JP8 header jumpers on the Uno32 board are placed in the RG3 and RG2 position in order to use the A4 and A5 pins pins for I2C operation. The chipKIT I/O shield is then inserted on the top the Uno32 board.Ā The BH1750FVI sensor board is plugged into the breadboard and isĀ powered through the 3.3V power supply from the I/O shield. The SDA and SCL signal lines are connected to the analog input pins A4 and A5, respectively.

BH1750FVI connections
BH1750FVI connections

The following picture shows the complete setup of this project.

Digital light meter project setup
Digital light meter project setup

chipKIT sketch

A firmware has been developed to display the measured light intensity on the OLED screen of the I/O shield. The display portion of the sketch uses the chipKIT I/O Shield libraryĀ provided by Digilent. The light intensity is displayed in Lux, foot-candles, and watts/m^2 computed at the center of the visible spectrum, which is ~555nm. The following equations are used to convert Lux into foot-candles and watts/m^2.

Foot-candles = Lux/10.764

Watts/m^2 = Lux/683.002 Ā  Ā (At ~555 nm wavelength)

Download the complete project sketch

Output

Upload the light meter sketch (download link provided above) to your Uno32 board and your light meter is ready to rock. Now you have your own device to check if you have a proper illumination level at your work space. You can move the sensor to face at multiple directions to see the differences in the lighting level in those directions. The measurement is set to refresh in every 3 seconds but you can modify it in the sketch to take samples at faster rates.

Light meter in action
Light meter in action
Closer look of the display
Closer look of the display

 


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.