资讯动态

stm32-DHT11传感器

发布时间:2026/9/3 6:08:14 来源:尧图企业网站定制
【嵌入式每日学习】DHT11温湿度传感器 DS18B20温度传感器 原理与开发流程一、今日学习目标1、掌握数字传感器与模拟传感器的核心区别理解AD转换的使用场景。2、深入学习DHT11温湿度传感器硬件参数、通信模式、数据帧格式、引脚配置与工程搭建流程。3、区分 DHT11 与 DHT22 传感器的差异掌握时序参考方案。4、掌握DS18B20单总线温度传感器参数、寄存器分布、温度存储规则、补码转换原理。5、熟悉 STM32 传感器外设开发的通用工程模板搭建思路。二、基础前置知识数字传感器 VS 模拟传感器在嵌入式硬件开发中传感器主要分为两大类模拟型传感器、数字型传感器这是所有传感器开发的基础认知。1、模拟型传感器输出为连续的模拟电压信号0~3.3V/0~5VMCU 无法直接识别、处理模拟量。必须经过 AD 模数转换将模拟电压转换为对应的数字量MCU 才能读取解析数据。2、数字型传感器内部自带 AD 转换与处理芯片直接输出数字信号0/1 电平数据帧。MCU 可直接读取、解析、运算数据无需外接 AD 转换芯片开发更简单、稳定性更高。DHT11、DS18B20 均为典型数字式传感器无需AD转换开发便捷性远高于模拟传感器。【配图1模拟传感器VS数字传感器原理对比图】可配图两类传感器信号传输、MCU处理流程对比简图直观展示AD转换的有无差异。三、DHT11 温湿度传感器 详细解析1、DHT11 简介DHT11 是一款低成本、常用的单线双向数字式温湿度复合传感器广泛应用于智能家居、环境监测、嵌入式实训项目中可同时采集环境温度与湿度数据具备体积小、功耗低、接线简单的特点。【配图2DHT11实物图引脚定义图】可配图DHT11传感器实物、4个引脚功能标注VCC、GND、DATA、NC。2、DHT11 核心参数手册解读开发参考资料STM32RBT6\DataSheet\传感器\DHT11说明书.pdf、DHT22.pdf1为什么要参考 DHT22 手册DHT11 原厂手册时序图模糊、描述简略而DHT11 与 DHT22 时序完全兼容、通信逻辑一致仅精度和数据格式有差异。因此开发中可借助 DHT22 标准时序驱动 DHT11完全通用。2DHT11 与 DHT22 核心区别DHT11仅支持整数采集无小数精度成本更低满足基础实训需求。DHT22AM2302支持整数小数采集精度更高适用于高精度环境监测场景。【配图3DHT11与DHT22参数对比表】可配图两款传感器参数、精度、测量范围、价格的对比可视化图表。3DHT11 硬件参数汇总传感器类型数字型温湿度传感器封装形式4 管脚封装检测功能同时检测空气湿度 环境温度湿度测量范围20%RH ~ 90%RH误差 ±5%RH温度测量范围0℃ ~ 50℃误差 ±2℃测量精度仅支持整数精度通信方式单线双向串行通信半双工单次数据长度40bit5Byte高位优先传输3、通信模式详解单工/半双工/全双工DHT11 核心通信特点单线半双工通信单工单向传输固定 A 发 B 收方向不可切换半双工同一时刻只能单向传输可切换收发方向DHT11 采用此模式全双工同一时间可同时发送、接收数据如串口 USART、SPI【配图4三种通信模式原理示意图】可配图单工、半双工、全双工数据流向简图直观区分通信逻辑适配DHT11半双工通信原理。4、DHT11 40bit 数据帧格式单次采集完整数据为40bit 5 个字节高位先出格式分配固定8bit 湿度整数 8bit 湿度小数 8bit 温度整数 8bit 温度小数 8bit 校验和补充说明DHT11 无小数精度因此湿度、温度小数字节数据恒为 0。校验规则前4个字节数据相加结果 第5字节校验和用于校验数据传输是否出错保证采集数据可靠性。【配图5DHT11 40bit数据帧结构示意图】可配图5字节数据分层结构图标注每一字节功能、高位优先传输规则。5、硬件引脚配置开发板原理图DHT11 数据引脚对应 STM32 引脚PC10该引脚需要动态切换模式DHT11 半双工通信核心要点MCU 发送指令阶段PC10 配置为推挽输出模式MCU 接收传感器数据阶段PC10 配置为浮空输入模式【配图6DHT11与STM32 PC10硬件接线原理图】可配图开发板DHT11外设接线图标注电源、地线、数据引脚对应关系。6、DHT11 工程搭建完整步骤基于 STM32 标准库工程模板搭建驱动工程复制往期基础工程模板重命名为11dht保证工程纯净无干扰。进入工程mylib目录新建传感器驱动文件dht.c驱动逻辑、dht.h函数声明、宏定义。打开project目录下的 Keil 工程确认当前编译工程为11dht。在 Keil 左侧mylib分组中添加dht.c文件加入工程编译列表。编写dht.h头文件防止重复包含、引脚宏定义、驱动函数声明。编写dht.c驱动文件引脚初始化、时序延时、起始信号、应答信号、数据读取、校验函数。在main.c中引入头文件调用驱动函数实现温湿度数据读取。四、DS18B20 高精度温度传感器 解析1、传感器简介DS18B20 是单总线数字温度传感器专门用于环境温度采集精度高、接线简单、抗干扰能力强是嵌入式温度采集项目的常用器件。【配图7DS18B20实物图引脚定义图】可配图TO-92封装DS18B20实物、引脚功能标注VCC、GND、DQ数据口。参考资料STM32RBT6\DataSheet\传感器\DS18B20.pdf2、核心硬件参数通信方式单总线一线传输单引脚实现双向通信测量温度范围-55℃ ~ 125℃常规精度-10℃ ~ 85℃ 范围内误差 ±0.5℃最高采集精度0.0625℃12bit 数据转换耗时750ms3、内部 9Byte 暂存寄存器分布核心重点DS18B20 采集的温度数据全部存储在内部 9 字节暂存器中关键寄存器功能如下第0字节温度数据低8位第1字节温度数据高8位第2字节温度报警上限阈值第3字节温度报警下限阈值第4字节传感器配置寄存器配置分辨率、工作模式第5、6、7字节系统保留寄存器无效第8字节CRC 校验字节用于数据校验【配图8DS18B20内部9字节暂存寄存器分布图】可配图寄存器地址对应功能表格图清晰展示每一字节存储用途。4、温度存储规则难点补码存储DS18B20所有温度数据均以补码形式存储这是负数温度采集的核心原理。计算机硬件、传感器存储负数统一使用补码程序读取后必须补码转原码才能得到真实温度值。举例-0.5℃ 存储转换演示补码1111 1111 1111 1000原码1111 1000 0000 1000开发注意程序中必须做正负温度判断手动完成补码转原码运算否则负数温度解析错误。【配图9DS18B20温度补码转原码逻辑示意图】可配图正负温度二进制转换流程图搭配-0.5℃换算案例直观易懂。五、今日学习总结1、理清了数字传感器与模拟传感器的本质区别理解 AD 转换的使用场景。2、熟练掌握 DHT11 温湿度传感器的参数、半双工通信原理、40bit 数据帧格式、引脚动态配置规则。3、掌握 DHT11 与 DHT22 的精度差异学会利用兼容时序快速开发。4、系统学习 DS18B20 单总线传感器参数、寄存器分布攻克了补码存储与转换的难点。5、掌握 STM32 传感器外设开发的标准工程搭建流程标准化驱动文件创建方式。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价