Arduino Nano: Bh1750 Ambient Light I2c Sensor With Visuino

Photo of Ron

Made by Ron / Robotics / Sensors / Weather

About the project

Measuring Ambient Light with I2C BH1750 Digital Light Sensor and Arduino - Quick and Easy

Project info

Difficulty: Easy

Platforms: ArduinoVisuino

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

BH1750 Digital Light Sensor BH1750 Digital Light Sensor x 1
Arduino Nano R3 Arduino Nano R3 x 1

Software apps and online services

Arduino IDE Arduino IDE
Visuino - Graphical Development Environment for Arduino Visuino - Graphical Development Environment for Arduino

Story

Measuring light with Passive Photoresistor, is easy, and I already made Tutorial on how to do this. In most cases this is enough for our Arduino projects. Sometimes however we need to have precise light measurement in lumens. The Passive Photoresistors are just not good for this purpose. Instead we can use specialized high precision I2C Light Sensors such as BH1750 from ROHM.

In this Tutorial I will show you how easy it is to connect BH1750 I2C Light Sensor to Arduino and precisely measure the lighting.

Step 1: Components

  • One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine)
  • 4 Female-Female jumper wires

Step 2: Connect the BH1750 Ambient Light Sensor to Arduino

1 / 3Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

  • Connect 5V VCC Power(Red wire), Ground(Black wire), SDA(Green wire), and SCL(Yellow wire), to the BH1750 Module (Picture 1)
  • Connect the other end of the Ground wire(Black wire) to Ground pin of the Arduino board (Picture 2)
  • Connect the other end of the 5V VCC Power wire(Red wire) to the 5V power pin of the Arduino board (Picture 2)
  • Connect the other end of the SDA wire(Green wire) to SDA/Analog pin 4 of the Arduino Nano board (Picture 2)
  • Connect the other end of the SCL wire(Yellow wire) to SCL/Analog pin 5 of the Arduino Nano board (Picture 2)
  • Picture 3 shows where are the Ground, 5V Power, SDA/Analog pin 4, and SCL/Analog pin 5, pins of the Arduino Nano

Step 3: Start Visuino, and select the Arduino Board type

1 / 2Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

To start programming the Arduino, you will need to have the Arduino IDE installed from here: http://www.arduino.cc/.

Make sure that you install 1.6.7 or higher, otherwise this Tutorial will not work!

The Visuino: https://www.visuino.com also needs to be installed.

  • Click on the "Tools" button on the Arduino component (Picture 1) in Visuino When the dialog appears, select Arduino Nano as shown in Picture 2
  • Start Visuino as shown in the first picture

Step 4: In Visuino: Add and connect BH1750 component

1 / 3Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

  • Connect the "Control" output pin of the LightSensor1 component to the "In" input pin of the "I2C" channel of the Arduino component (Picture 2)
  • Connect the "Out" output pin of the LightSensor1 component to the "In" input pin of the "Serial[ 0 ]" channel of the Arduino component (Picture 3)

Step 5: Generate, Compile, and Upload the Arduino code

1 / 2Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

  • In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  • In the Arduino IDE, click on the Upload button, to compile and upload the code (Picture 2)

Step 6: And play...

1 / 5Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

Picture 4

Picture 4

Picture 5

Picture 5

You can see the connected and running project on Picture 1.

If you open Serial Terminal in the Arduino IDE or Visuino, you will see the lighting in lumens measured by the Sensor.

In Visuino, select serial port, and click on the "Connect" button (Picture 3)

You should see the data from the sensor printed in lumens (Picture 4), and if you switch to the Scope Tab, you will see it plotted on the scope (Picture 5)

If you cover the Sensor, you will notice that the value is decreasing, and if you point it to light, it is increasing.

Congratulations! You have learned how to connect BH1750 Ambient Light I2C Sensor to Arduino, and measure the lighting in lumens with it.

On Picture 2 you can see the complete Visuino diagram.

Also attached is the Visuino project, that I created for this Tutorial. You can download and open it in Visuino: https://www.visuino.com

Credits

Photo of Ron

Ron

Arduino Developer

   

Leave your feedback...