当前位置: 首页 > ds >正文

基于智能家居项目 解析DHT11温湿度传感器

一、模块简介

DHT11 是一款数字式温湿度传感器,内部集成了温度传感元件、湿度传感元件以及一个 8 位单片机芯片,用于采集数据和通信。。

  • 测量范围:湿度 20%~90% RH,温度 0~50℃

  • 精度:湿度 ±5% RH,温度 ±2℃

  • 通信方式:单总线数字信号

  • 接口:VCC、GND、DATA(单根数据线)

二、硬件连接原理(MCU 与模块的连接)

DHT11 模块有 3 个引脚(有些版本为 4 个引脚,1 个为无连接):

引脚编号

名称

功能说明

1

VCC

电源输入(3.3V 或 5V)

2

DATA

数据线(双向)

3

GND

地线

注意事项

  • DATA 线需要通过一个 上拉电阻(通常为 5.1kΩ~10kΩ)接到 VCC。

  • MCU 的 IO 口必须具备 GPIO 输入输出能力,配置为开漏输出。

三、通信协议详解(单总线通信协议)

DHT11 使用一种简化的 单总线协议(非标准 One-Wire 协议),只有一根数据线负责所有通信。通信流程包括:

1. 起始信号(由 MCU 发起)
  • MCU 拉低 DATA 线 不少于 18ms(确保 DHT11 能检测到启动信号)

  • MCU 释放 DATA 线并切换为输入状态

  • DHT11 会在 20~40μs 内拉低 DATA 线回应 80μs,然后拉高 80μs 表示准备发送数据

2. 数据传输

DHT11 发送 40 位数据(8位湿度整数 + 8位湿度小数 + 8位温度整数 + 8位温度小数 + 8位校验和):

字节序

内容

Byte 1

湿度整数

Byte 2

湿度小数(一般为 0)

Byte 3

温度整数

Byte 4

温度小数(一般为 0)

Byte 5

校验和 = Byte1 + Byte2 + Byte3 + Byte4

3. 数据位定义与时序

每一个数据位由如下结构组成:

  • DHT11 先拉低 50μs,作为开始标志

  • 再根据位值决定高电平持续时间:

    • 逻辑 0:高电平持续约 26~28μs

    • 逻辑 1:高电平持续约 70μs

MCU 只需要根据高电平持续时间判断是 0 还是 1。

四、一根数据线如何完成通信?

DHT11 的单总线通过双向通信(MCU输出+输入模式切换)实现:

  • MCU 先发起起始信号(输出模式)

  • DHT11 接收后,开始发送数据(MCU切为输入模式)

  • 通过 时间脉宽编码(低高电平持续时间差异)表示“0”与“1”

  • 整个过程中,DATA 引脚既充当输出也充当输入

问题解疑

常见问题解析 (FAQ)

❓ 为什么需要上拉电阻?

数据线是开放式结构,DHT11 或 MCU 都可以驱动它。为了避免悬空状态,使用上拉电阻确保默认是高电平。

上拉电阻配合 IO 的输入/输出切换,实现“写低电平+读高低电平”组合,完成数据传输。

❓ DHT11 和 DHT22 有什么区别?

对比项

DHT11

DHT22

精度

一般(±5% RH)

高(±2% RH)

温度范围

0~50°C

-40~80°C

价格

便宜

略贵

下一章讲MCU如何配置温湿度传感

http://www.xdnf.cn/news/5942.html

相关文章:

  • hadoop中创建MySQL新数据库数据表
  • 数据库数据清洗、预处理与质量监控、 数据质量的核心概念
  • 《Effective Python》第1章 Pythonic 思维总结——编写优雅、高效的 Python 代码
  • 分布式任务调度XXL-Job
  • STM32 __main
  • 项目:博客系统——基于SSM框架Mybatis-plus
  • C++学习之路,从0到精通的征途:继承
  • hadoop3.x单机部署
  • 【计算机网络 第8版】谢希仁编著 第四章网络层 题型总结3 SDN OpenFlow
  • 工程师必读! 3 个最常被忽略的 TDR 测试关键细节与原理
  • ubuntu20.04安装qtcreator并打开ros工程
  • CD3MN 双相钢 2205 材质保温 V 型球阀:恒温工况下复杂介质控制的高性能之选-耀圣
  • 72.编辑距离
  • 11. CSS从基础样式到盒模型与形状绘制
  • KV cache 缓存与量化:加速大型语言模型推理的关键技术
  • AUTOSAR图解==>AUTOSAR_TPS_FeatureModelExchangeFormat
  • 榕壹云搭子系统技术解析:基于Spring Boot+MySQL+UniApp的同城社交平台开发实践
  • 国内USB IP商业解决方案新选择:硬件USB Server
  • 鸿蒙Next开发 获取APP缓存大小和清除缓存
  • 图片的require问题
  • 轻量级高性能推理引擎MNN 学习笔记 02.MNN主要API
  • 【工作记录】Kong Gateway入门篇之简介
  • 短板效应--双指针
  • ElasticSearch深入解析(十一):分页
  • LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
  • 二叉排序树(BST),平衡二叉树(AVL)
  • 鸿蒙PC版体验_画面超级流畅_具备terminal_无法安装windows、linux软件--纯血鸿蒙HarmonyOS5.0工作笔记017
  • MATLAB Simulink在Autosar和非Autosar工程下的开发流程
  • JVM之虚拟机运行
  • Nacos源码—9.Nacos升级gRPC分析八