“ 通过对接BH1750熟悉下Pico的I2C操作。”
01
—
BH1750简介
产品介绍:
BH1750FVI是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。(1lx-65535lx)
产品特点:
1.支持 I2C BUS 接口(f/s Mode Support)。
2.接近视觉灵敏度的光谱灵敏度特性(峰值灵敏度波长典型值:560nm)。
3. 输出对应亮度的数字值。
4.对应广泛的输入光范围(相当于1-65535lx)。
5.通过降低功率功能,实现低电流化。
6.通过50Hz/60Hz除光噪音功能实现稳定的测定
7.支持1.8V逻辑输入接口。
8. 无需其他外部件。
9. 光源依赖性弱(白炽灯,荧光灯,卤素灯,白光LED,日光灯)。
10.有两种可选的I2Cslave 地址。
11.可调的测量结果影响较大的因素为光入口大小。
12.使用这种功能能计算 1.1lx到 100000lx 马克斯/分钟的范围。
13.最小误差变动在 20%。
14.受红外线影响很小。
02
—
BH1750的配置
1、I2C Slave address
I2C地址端口为IC的第二脚ADDR,当ADDR置为'H'高电平时,i2c的地址为”1011100“ 即0x5c,当ADDR置为'L'低电平时,i2c的地址为"0100011"即0x23
2、通电,等待测量
需要通过I2C接口向IC发送'00000001'来激活BH1750
3、分辨率模式的设置
连续 H分辨率模式 | 0001_0000 | 在1lx分辨率下开始测量,测量时间一般为120ms。 |
连续H分辨率模式2 | 0001_0001 | 在0.51x分辨率下开始测量。测量时间一般为120ms。 |
连续L分辨率模式 | 0001 0011 | 在41x 分辨率下开始测量。测量时间一般为16ms。 |
一次H分辨率模式 | 0010_0000 | 在11x分辨率下开始测量。测量时间一般为120ms |
一次H分辨率模式2 | 0010_0001 | 在0.51x分辨率下开始测量。测量时间一般为120ms。测量后自动设置为断电模式。 |
一次L分辨率模式 | 0010_0011 | 在41lx分辨率下开始测量。 测量时间一般为16ms。 测量后自动设置为断电模式。 |
在这里,我们方便演示,直接选择连续 H分辨率模式。
4、测量值计算
返回的测量结果由高低两个字节组成,那么如何计算呢?比如高字节是''10000011",低字节是"10010000",那么测量的最终结果计算如下: