BH1750光照传感器

 前言

刚开始使用BH1750传感器模块的时候,看不懂它的数据手册,捣鼓了半天,我搞通了。所以通过写文章来记录一下怎么使用这个BH1750传感器模块的,方便今后的复盘。同时你们要是哪里不懂的也可以给我评论,我会回评论的。注:下面的模块都是指BH1750传感器模块。

 产品介绍

BH1750  是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。(1lx-65535lx
我们要使用一个模块,最重要的是看懂数据手册,下面都是来源于数据手册。下面的1234步骤都是按照数据手册的顺序来展示的,我感觉这个数据手册有点乱哈哈哈。

1.测量程序步骤

从这个测量程序步骤可以看得出来,这个BH1750传感器模块上电后默认为断电模式(此断电模式不是说芯片没有电,而是芯片没有进入工作模式)。所以我们在上电后就是要通电( 怎么通电?后面说),然后给模块发送测量指令( 测量指令后面说),再然后就是你选择一次测量还是连续测量。
注:如果选择一次测量的话,模块测量完一次之后会自动断电;如果选择连续测量的话,模块测量完一次之后需要我们程序员在软件上面发送断电指令来进行断电。但是我发现,下面的实例都没有发送断电指令的,我也尝试过了,当选择连续测量的模式,不需要发送断电指令,也是可以的。但是我在我的程序还是会发送断电指令。

2.BH1750指令集

通过发送1个字节的指令即可配置BH1750的模式。比如你给模块发送0x01(00000001),则将模块通电;你给模块发送0x10(00010000),则将模块设置成为连续H分辨率模式。通过上面的指令集可以看出来测量模式一共有6种:连续H分辨率模式、连续H分辨率模式2、连续L分辨率模式、一次H分辨率模式、一次H分辨率模式2、一次L分辨率模式。

你看上面的指令集有一次和连续模式。刚好就是对应1.测量程序步骤中的连续测量和一次测量。

 3.测量模式说明

这个数据手册建议我们使用H分辨率模式,所以我们就不使用L分辨率模式了。那我我们测量模式就剩下四种了:连续H分辨率模式、连续H分辨率模式2、一次H分辨率模式、一次H分辨率模式2。你使用那个都行,我最终使用的是连续H分辨率模式2,因为这个分辨率高一点。

4.测量过程实例

这里一定一定一定要看懂,要不然代码都不知道怎么写。ADDR='L',ADDR='H',这两个到底什么意思?如果你对IIC设备很熟悉的话,一定懂得这两个东西。因为我也是刚开始接触这方面,我看不懂。我们得往下看手册了。

这个就得从IIC层面来说了,简单易懂来说:

所有IIC设备都有一个专属的设备地址,BH1750也不例外,BH1750一共有2个设备地址,可以通过芯片的ADDR引脚切换。如果ADDR引脚置高电平(大于等于0.7V),则模块的设备地址为:1011100,如果ADDR引脚置低电平(小于等于0.3V),则模块的设备地址为:0100011,有朋友就会觉得疑惑了,地址不应该是8位的吗?为什么这里只有7位?(下面说)

所以我们回到测量过程实例,看到有两个实例(实例1和实例2)是吧。下面只说明

实例1就是说,ADDR='L'的情况下,将模块的模式设置为连续H分辨率模式,你的指令应该怎么发。

第一步:发送"连续H分辨率模式"指令。①ST:发送IIC的起始条件。②发送“01000110”给模块(0100011是表示模块设备的地址,0表示接下来的指令是写操作)。③ACK:等待模块给你回复。④00010000:给模块发送00010000,表示将模块的模式设置为:连续H分辨率模式。

第二步:延时180ms,这里是为什么?看回“3.测量模式说明”是不是有一个测量时间,这是延时180ms就是给模块测量的时间,他写着是120ms,我们避免出错,我们给他长一点的测量时间,让他测量得完完全全。

第三步:读测量结果。①ST:发送IIC的起始条件。②发送“01000111”给模块(0100011是表示模块设备的地址,1表示接下来的指令是读操作)。③ACK:等待模块给你回复。④High Byte:这个就是光照强度的高8位。⑤ACK:你给模块的回应。⑥Low Byte:这个就是光照强度的低8位。⑦ACK:你给模块的回应。⑧SP:发送IIC的结束条件。

通过这个实例,就可以写代码啦。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值