Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
读取DHT12的温湿度
i2c
dht12
温湿度
通过i2c读取DHT12的温湿度数据
```lua -- 初始化并打开I2C操作DHT12 local function read_dht12(id) if i2c.setup(id, i2c.SLOW) ~= i2c.SLOW then log.error("I2C.init is: ", "fail") i2c.close(id) return end i2c.send(id, 0x5C, 0x00) local data = i2c.recv(id, 0x5C, 5) i2c.close(id) log.info("DHT12 HEX data: ", data:toHex()) -- 分别是湿度整数,湿度小数,温度整数,温度湿度 local _, h_H, h_L, t_H, t_L = pack.unpack(data, 'b4') log.info("DHT12 data: ", h_H, h_L, t_H, t_L) -- 需要考虑温度低于0度的情况, t_L第0位是符号位 local t_L2 = tonumber(t_L) if t_L2 > 127 then return h_H .. ".".. h_L, "-" .. t_H .. "." .. tostring(t_L2 - 128) else return h_H .. ".".. h_L, t_H .. "." .. t_L end end ```
发表于 2018-09-27 22:14
阅读 ( 3715 )
分类:
默认分类
9 推荐
打赏
收藏
你可能感兴趣的文章
luat i2c驱动 mpu6050 获取数据
3131 浏览
相关问题
Air720SL的I2C及I2C2对应设备ID是?如何使用api读写16位地址寄存器
0 回答
AIR801模块如何将 GPIO_8、GPIO_9如何复用成I2C
1 回答
268F i2c.setup()失败
1 回答
Air202 i2c.write()和i2c.send()有什么区别?
2 回答
9 条评论
请先
登录
后评论
技术销售Wendal
软件工程师
15 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!