Ks0278 keyestudio BH1750FVI Digital Light Intensity Module: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
Line 99: Line 99:
*[https://www.aliexpress.com/store/product/Keyestudio-BH1750FVI-Digital-Light-Intensity-Module/1452162_32831030465.html?spm=2114.12010615.8148356.1.4ba74dc85J5ZFR  Shop on aliexpress ]
*[https://www.aliexpress.com/store/product/Keyestudio-BH1750FVI-Digital-Light-Intensity-Module/1452162_32831030465.html?spm=2114.12010615.8148356.1.4ba74dc85J5ZFR  Shop on aliexpress ]


*[https://www.amazon.com/dp/B07H7FWYG5    Shop on amazon]




[[Category: Module]]
[[Category: Module]]

Revision as of 17:05, 5 November 2019


Introduction

Keyestudio BH1750FVI digital light intensity module is a digital light intensity sensor integrated circuit used for two-wire serial bus interface.
It uses the light intensity data collected by module to adjust the brightness of LCD and keyboard backlight. The module resolution can detect a wide range of light intensity changes.
thumb


Specification

  • Diameter 26mm, large diameter 28.5mm, high 26mm (plus light ball)
  • Working voltage: DC 5V
  • Communication interface: IIC
  • Input light range: 1-65535lx
  • Spectral sensitivity: typical value of peak sensitivity wavelength: 560nm
  • Weak dependency on light source: incandescent, fluorescent, halogen, white LED and fluorescent is available.


Connection Diagram


thumb


Sample Code

  /*
 Measurement of illuminance using the BH1750FVI sensor module
 Connection:
  Module      UNO
G <----->   GND
V  <----->  5V
SDA  <----->  A4
  SCL  <----->  A5
   */
#include <Wire.h>

#define ADDRESS_BH1750FVI 0x23    //ADDR="L" for this module
#define ONE_TIME_H_RESOLUTION_MODE 0x20
//One Time H-Resolution Mode:
//Resolution = 1 lux
//Measurement time (max.) = 180ms
//Power down after each measurement
 byte highByte = 0;
 byte lowByte = 0;
 unsigned int sensorOut = 0;
 unsigned int illuminance = 0;

 void setup()
 {
     Wire.begin();
     Serial.begin(115200);
 }

 void loop()
 {
     Wire.beginTransmission(ADDRESS_BH1750FVI); //"notify" the matching device
     Wire.write(ONE_TIME_H_RESOLUTION_MODE);     //set operation mode
     Wire.endTransmission();

     delay(180);

     Wire.requestFrom(ADDRESS_BH1750FVI, 2); //ask Arduino to read back 2 bytes from the sensor
     highByte = Wire.read();  // get the high byte
     lowByte = Wire.read(); // get the low byte

     sensorOut = (highByte<<8)|lowByte;
     illuminance = sensorOut/1.2;
     Serial.print(illuminance);    Serial.println(" lux");

     delay(1000);
 }


Test Result

Open the serial monitor and set the baud rate to 115200.
For the light intensity, the value will make a corresponding change. The stronger the light is, the larger the value is.
As the figure shown below:
thumb


Resource

  • Datasheet:

https://drive.google.com/open?id=1WAFT-av0IphrdWqXiu2EK8aid4jTQW8t

  • Get the Code and Library:

https://drive.google.com/open?id=1LbSfsH_kpCTDWFjwupOGzcbk27Y7zwk4

  • VIDEO:

http://video.keyestudio.com/ks0278/



Buy from