| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- -- LuaTools需要PROJECT和VERSION这两个信息
- PROJECT = "sht30demo"
- VERSION = "1.0.0"
- -- sys库是标配
- sys = require("sys")
- -- 接线
- --[[
- SHT30 --- Air302
- SDA - I2C_SDA
- SCL - I2C_SCL
- VCC - VDDIO
- GND - GND
- ]]
- -- 提示, 老板子上的I2C丝印可能是反的, 如果读取失败请调换一下SDA和SLA
- -- 启动个task, 定时查询SHT20的数据
- sys.taskInit(function()
- -- sht30的默认i2c地址
- local addr = 0x44
- -- 按实际修改哦
- local id = 0
- log.info("i2c", "initial",i2c.setup(0))
- while true do
- --第一种方式
- i2c.send(id, addr, string.char(0x2C, 0x06))
- sys.wait(5) -- 5ms
- local data = i2c.recv(id, addr, 6)
- log.info("sht30", data:toHex())
- if #data == 6 then
- local _,tval,ccrc,hval,hcrc = pack.unpack(data, ">HbHb")
- -- local cTemp = ((((data:byte(1) * 256.0) + data:byte(2)) * 175) / 65535.0) - 45
- -- local fTemp = (cTemp * 1.8) + 32
- -- local humidity = ((((data:byte(4) * 256.0) + data:byte(5)) * 100) / 65535.0)
- local cTemp = ((tval * 175) / 65535.0) - 45
- -- local fTemp = (cTemp * 1.8) + 32
- local humidity = ((hval * 100) / 65535.0)
- log.info("sht30", cTemp, humidity)
- end
- sys.wait(2000)
- end
- end)
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
|