1)实验平台:alientek NANO STM32F411 V1开发板
2)摘自《正点原子STM32F4 开发指南(HAL 库版》关注官方微信号公众号,获取更多资料:正点原子
第二十八章 DHT11 数字温湿度传感器实验
上一章,我们介绍了数字温度传感器 DS18B20 的使用,本章我们将介绍数字温湿度传感器DHT11 的使用,该传感器不但能测温度,还能测湿度。本章我们将向大家介绍如何使用 STM32F4来读取DHT11 数字温湿度传感器,从而得到环境温度和湿度等信息,并把从温湿度值显示在数码管上。本章分为如下几个部分:
28.1 DHT11 简介
28.2 硬件设计
28.3 软件设计
28.4 下载验证
28.1 DHT11 简介
DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。
DHT11 的技术参数如下:
工作电压范围:3.3V-5.5V
工作电流 :平均 0.5mA
输出:单总线数字信号
测量范围:湿度 20~90%RH,温度 0~50℃
精度 :湿度±5%,温度±2℃
分辨率 :湿度 1%,温度 1℃
DHT11 的管脚排列如图 28.1.1 所示:
虽然 DHT11 与 DS18B20 类似,都是单总线访问,但是 DHT11 的访问,相对 DS18B20 来
说要简单很多。下面我们先来看看 DHT11 的数据结构。
DHT11 数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向
传输。其数据包由 5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为
40bit,高位先出。DHT11 的数据格式为:8bit 湿度整数数据+8bit 湿度小数数据+8bit 温度整数
数据+8bit 温度小数数据+8bit 校验和。其中校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开
处理。例如,某次从 DHT11 读到的数据如图 28.1.2 所示: