之前还可以正常读取数值,拿手电筒照了一下就一直显示54612不懂。是坏了吗?
有个办法你可以区分下是显示出问题函数传感器自身出问题了,你可以把i2c的sda总线强制拉低,看看显示数据有无变化,如果显示变0了,就说明是传感器问题了,否则就要看看你的显示程序了
目前这样判断不出是否损坏。
分析思路:
1) 如果你能在不传输节点时读取正确,说明这个芯片的驱动没有问题
2) 如果是在传输中有问题,那就要找传输过程中是不是哪个地方转换错了,或者变量长度不够而溢出了,所以只保留了最大值,可以做一下测试,在光照减弱到最小时,看值有没有变化。
54612lx是它的最大量程,
可以断电之后再试试,
或者用手挡住传感器一会在放开观看数值
再不济拿个好的在其他外部条件不变的情况下接上如果没问题。说明就是那个坏了
应该是没有坏,我原来做bh1750的实验的时候也遇到过一次这样的情况。
我的解决方法是,在一个原来写好的程序上单独移植出bh1750的程序,然后重新运行,看bh1750是否变正常,如果变正常了,再放回大程序中进行运行,这样bh1750就变正常了。
如果上述方法解决不了,可以试一下下载别人写好的代码运行,看看bh1750是否变正常。或者换一下代码中的IIC的IO口,然后再运行看看效果。
如果上述方法都没办法改变数值,那基本上板子就坏了,但是bh175一般不会坏,所有上述方法都尝试一下就应该能解决问题。
BH1750光照传感器超详细攻略
https://blog.csdn.net/ShenZhen_zixian/article/details/103542972