BH1750-G-1.jpg

概述

这款BH1750环境光传感器兼容Gadgeteer接口,内置16位的模数转换器,通过IIC接口能够直接输出一个数字信号,不需要再做复杂的计算。

这款环境光传感器能够直接通过光度计来测量。光强度的单位是流明"lx"。当物体在均匀的光照下它能够在每平方米获得1lx的光通量,它们的光强度是1lx。

有时为了充分利用光源,你可以增加一个光源的反射装置。那样在某些方向就能获得更多的光通量,以增加被照表面的亮度。

技术规格

  1. 晚上: 0.001-0.02;
  2. 月夜: 0.02-0.3;
  3. 多云室内: 5-50;
  4. 多云室外: 50-500;
  5. 晴天室内: 100-1000;
  6. 夏天中午光照下: 大约10*6能量;
  7. 阅读书籍时的照明度: 50-60;
  8. 家庭录像标准照明度:1400

接线图

Light Sensor Wiring diagram 请注意附加针是传感器分配一个不同的I2C地址。对于我们的示例代码中不使用该引脚 Wikipedia I2C

示例代码

/*
 Sample code for the BH1750 Light sensor
 Version 0.2
 website:www.DFRobot.com

 Connection:

 VCC-5v
 GND-GND
 SCL-SCL(analog pin 5)
 SDA-SDA(analog pin 4)
 ADD-NC
 */


#include <Wire.h> //BH1750 IIC Mode
#include <math.h>
int BH1750address = 0x23; //setting i2c address

byte buff[2];
void setup() {
        Wire.begin();
        Serial.begin(9600);//init Serail band rate
}

void loop() {
        int i;
        uint16_t val=0;
        BH1750_Init(BH1750address);
        delay(200);

        if(2==BH1750_Read(BH1750address)) {
                val=((buff[0]<<8)|buff[1])/1.2;
                Serial.print(val,DEC);
                Serial.println("[lx]");
        }
        delay(150);
}

int BH1750_Read(int address) {
        int i=0;
        Wire.beginTransmission(address);
        Wire.requestFrom(address, 2);
        while(Wire.available()) {
                buff[i] = Wire.read();  // receive one byte
                i++;
        }
        Wire.endTransmission();
        return i;
}

void BH1750_Init(int address) {
        Wire.beginTransmission(address);
        Wire.write(0x10);//1lx reolution 120ms
        Wire.endTransmission();
}

相关文档

相关案例

<File:nextredirectltr.png>购买 BH1750 light sensor(Gadgeteer Compatible)(SKU:SEN0043)

category: Product_Manual category: DFR_Series category: Sensors category:source category:Diagram