1. DHT11温湿度传感器基础认知
DHT11是一款经典的数字化温湿度复合传感器,采用单总线通信协议。其工作电压范围为3.3V-5.5V,温度测量范围0-50℃(±2℃精度),湿度测量范围20-90%RH(±5%RH精度)。虽然精度不及工业级传感器,但其低廉的价格(约2-5元)和简单的接口使其成为嵌入式学习、智能家居等场景的首选。
传感器内部结构包含一个电阻式感湿元件和一个NTC测温元件,配合8位单片机进行信号处理。出厂时已校准,用户无需额外配置。典型响应时间:湿度1秒,温度2秒。值得注意的是,其单总线协议虽然简化了硬件连接,但对时序要求极为严格——这也是初学者最容易出问题的地方。
提示:DHT11的塑料外壳开孔设计会影响空气流通,实际安装时应避免完全封闭或紧贴发热源。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件连接与电气特性
2.1 典型接线方案
以STM32F103系列为例,标准连接方式如下:
code复制DHT11引脚说明:
1. VDD → 3.3V/5V(建议加0.1μF去耦电容)
2. DATA → MCU GPIO(需接4.7K上拉电阻)
3. NC → 悬空
4. GND → 系统地
上拉电阻的选择直接影响信号质量:
- 5V系统:4.7KΩ(官方推荐)
- 3.3V系统:可降至2.2KΩ
- 长线传输(>1m):需减小电阻值并加屏蔽
2.2 电源管理要点
DHT11的工作电流约0.5-2.5mA,但在启动瞬间会有1mA的峰值电流。实际应用中常见问题:
- 电源纹波导致初始化失败:建议并联100nF+10μF电容组合
- 3.3V系统供电不足:某些批次传感器在3.3V下工作不稳定,可尝试5V供电并通过电平转换芯片连接MCU
- 热插拔损坏:带电插拔易导致内部晶振停振,表现为持续输出高电平
3. 单总线协议深度解析
3.1 通信时序规范
完整通信包含三个阶段:
- 主机启动信号:拉低总线18ms后释放
- 传感器响应:DHT11拉低80μs后拉高80μs
- 数据传输:每位以50μs低电平开始,高电平持续时间决定数据位(26-28μs为0,70μs为1)
时序容错范围:
- 启动信号:最小18ms,最大无限制
- 响应信号:低电平75-85μs,高电平75-85μs
- 数据位判定:建议设置35μs
