大家好我是渣渣辉,啊不对。。今天给大家分享一个NodeMCU通过GY-30也就是BH1750模块监控环境亮度的程序。
这是我手头的GY30模块,使用I2C总线协议。
经过查看手册,发现如下知识点:
下面三点极为关键,害我弄了一晚上!!!!!!
- addr拉低时,GY30 I2C地址为0x23 BH1750好像是0x46
- addr拉高时,I2C地址为0x5c BH1750好像是0xb8
- 需要发送**0x01**进行初始化
这是官方的说明书
BH1750—GY30说明书
我把sda接在nodeMCU的5号脚,scl接在nodeMCU的6号脚,写了如下程序。
--初始化
function initGY30(sda ,scl)
i2c.setup(0, sda, scl, i2c.SLOW)
end
function readGY30(mode,func)
--mode是函数参数,func是测量完成后的回调参数
--因为测量需要时间,所以要写成回调模式
i2c.start(0)
i2c.address(