posts - 21,comments - 0,views - 16777
dht11硬件原理图
 
 
dht11工作原理:
 
当主机没有和dht11交互时,总线处于空闲状态,在上拉电阻的作用下,处于高电平
当主机和dht11交互时,总线处于通信状态,完整通信过程如下:
(时序图)
 
    1.主机将总线I/O配置为输出模式,准备向dht11发送数据。
    2.主机将总线拉低至少18ms,以此作为起始信号。再将总线拉高并延时20-40us,以此表示起始信号的结束。
    3.主机将总线I/O配置为输入模式,准备接收dht11的数据
    4.当dht11检测到起始信号后,开始应答,回传采集到的传感器数据。
        (dht11先将总线拉低80us作为对主机的应答(ACK),然后将总线拉高80us,准备回传采集到的温湿度数据。温湿度数据以固定的帧格式发送)
一帧40个bit,每一个bit传输时序逻辑:dht11将总线拉低50us,输出高电平,持续26-28us则为逻辑0,70us则为逻辑1
 
    5.一帧数据完成后,dht11释放总线,总线在上拉电阻作用下恢复高电平
 
 
程序设计在采集到40bit数据后,检验校验位
校验可参考: https://www.cnblogs.com/fqhy/p/7978763.html
 
参考博客(整理思路鉴于此): https://www.cnblogs.com/lulipro/p/10815338.html
(arduino实现代码可参考上述博客)
 
posted on   Jolyne123  阅读(393)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示