BH1750光照强度传感器
- 一、本例程实现功能
- 二、基本概念
- 三、 传感器参数配置概述
- 四、接线图
- 六、代码运行结果
一、本例程实现功能
通过BH1750光照强度传感器模块测量周围灯光或太阳光等光照强度,并通过print()函数在电脑串口调试终端打印输出。
二、基本概念
光照强度: 光照强度是一种物理术语,指单位面积上所接受可见光的光通量。简称照度 [1]
,单位勒克斯(Lux或lx)。用于指示光照的强弱和物体表面积被照明程度的量。
下表是一些日常的代表性光照强度:
三、 传感器参数配置概述
Core提供的库函数默认将BH1750传感器配置在H-Resolution Mode,即精确度配置在1勒克斯(lx),测量范围在165535(lx),每次测量时间在120180毫秒之间。所以保守估计传感器每秒可以输出5组光照强度数据,具体参数配置如下图中红色方框中的内容:
四、接线图
五、完整代码
--配置USB以虚拟串口模式工作,这样调用print()函数就会在电脑串口终端打印输出
LIB_UsbConfig("CDC")
--设置BH1750光照强度传感器占用SCL0和SDA0引脚,并启动传感器以每秒输出5组数据的频率工作
LIB_BH1750Config("IIC0")
--开始大循环
while(GC(1) == true)
do--每隔200毫秒查询一次传感器是否出数,也可以设置大于200毫秒的查询间隔时间,取决于您的应用需求LIB_DelayMs(200)flag, illumination = LIB_BH1750GetResult()if flag == 1 then --如果传感器此时有数据--光照强度值去掉小数部分,单位:勒克斯(lx)print(string.format("illumination: %.0f (lx)", illumination))end
end
六、代码运行结果
电脑串口调试终端上显示的光照强度(单位:勒克斯(lx))内容如下图:
更多详情请参看 shineblink.com官网链接