规格介绍

BH1750是一种光照传感器,主要通过IIC进行通讯,内置 16 位 ADC,量程 1~65535lx,模仿人眼感光特性。
工作电压:3-5V
工作电流:200uA
探测范围:1~65536 lx
模块尺寸:32.6mm×15.2mm×11.6mm
输出方式: IIC
管脚数量:5 Pin


原理图
| 引脚名称 | 描述 |
|---|---|
| VCC | 供给电压 3~5V |
| SCL | I2C 总线时钟线 |
| SDA | I2C 总线数据线 |
| ADDR | I2C 地址引脚 |
| GND | 电源地 |
芯片通讯
芯片地址
设备有ADDR引脚用来设置IIC地址
一般来说GY30,GY302等模块引脚有下拉。所以悬空一般是低电平
| ADDR 引脚电平 | 7bit 地址 | 8bit 写地址 | 8bit 读地址 |
|---|---|---|---|
| 高电平 | 0x5C | 0xB8 | 0xB9 |
| 低电平 | 0x23 | 0x46 | 0x47 |
芯片命令
| 指令 | 功能代码 | 注释 |
|---|---|---|
| 断电 | 0000_0000(0x00) | 无激活状态。 |
| 通电 | 0000_0001 (0x01) | 等待测量指令。 |
| 重置 | 0000_0111 (0x07) | 重置数字寄存器值,重置指令在断电模式下不起作用。 |
| 连续 H 分辨率模式 | 0001_0000(0x10) | 在 1lx 分辨率下开始测量。测量时间一般为 120ms。 |
| 连续 H 分辨率模式 2 | 0001_0001(0x11) | 在 0.5lx 分辨率下开始测量。测量时间一般为 120ms。 |
| 连续 L 分辨率模式 | 0001_0011(0x13) | 在 41lx 分辨率下开始测量。测量时间一般为 16ms。 |
| 一次 H 分辨率模式 | 0010_0000 (0x20) | 在 1lx 分辨率下开始测量。测量时间一般为 120ms。测量后自动设置为断电模式。 |
| 一次 H 分辨率模式 2 | 0010_0001 (0x21) | 在 0.5lx 分辨率下开始测量。测量时间一般为 120ms。测量后自动设置为断电模式。 |
| 一次 L 分辨率模式 | 0010_0011 (0x23) | 在 41lx 分辨率下开始测量。测量时间一般为 16ms。测量后自动设置为断电模式。 |
| 改变测量时间(高位) | 01000_MT[7,6,5] | 改变测量时间※ 请参考 “根据光学扇窗的影响调整测量结果。” |
| 改变测量时间(低位) | 011_MT[4,3,2,1,0] | 改变测量时间※ 请参考 “根据光学扇窗的影响调整测量结果。” |
对应的模式:
| 模式 | 分辨率 | 典型测量时间 | 说明 |
|---|---|---|---|
| 一次 H 分辨率模式 | 1 lx | 120ms | 该模式配置完成后会自动进行一次测量,测量完成后会切换到断电模式 |
| 一次 H 分辨率模式 2 | 0.5 lx | 120ms | 该模式配置完成后会自动进行一次测量,测量完成后会切换到断电模式 |
| 一次 L 分辨率模式 | 4 lx | 16ms | 该模式配置完成后会自动进行一次测量,测量完成后会切换到断电模式 |
| 连续 H 分辨率模式 | 1 lx | 120ms | 该模式配置完成后会自动进行连续测量,无需重复配置 |
| 连续 H 分辨率模式 2 | 0.5 lx | 120ms | 该模式配置完成后会自动进行连续测量,无需重复配置 |
| 连续 L 分辨率模式 | 4 lx | 16ms | 该模式配置完成后会自动进行连续测量,无需重复配置 |
典型应用
1 | BH1750_POWER_ON 0x01 //上电 |
然后读出数据
BH1750 通过 I2C 返回2 字节 16 位无符号数据:高字节 + 低字节(Data_H | Data_L)
1 | RawData = (Data_H << 8) | Data_L; // 合并16位原始采样值 |
- H 模式(0.5lx/1lx 精度)(Lux = \frac{RawData}{1.2})
连续 H1 (0x10)/ 单次 H1 (0x20):1lx 分辨率,÷1.2
连续 H2 (0x11)/ 单次 H2 (0x21):0.5lx 分辨率,÷1.2(最小刻度 0.5lx) - L 模式(4lx 精度)(Lux = \frac{RawData}{1.2})
连续 L (0x13)/ 单次 L (0x23),最小刻度 4lx
原厂标准系数固定 1.2,MT 寄存器修改测量时间时系数同步变更