Ks0278 keyestudio BH1750FVI Digital Light Intensity Module: Difference between revisions
Jump to navigation
Jump to search
Keyestudio (talk | contribs) |
Keyestudio (talk | contribs) |
||
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.
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
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:
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/