DHT22 TEMPERATURE-HUMIDITY SENSOR 数据手册
微雪电子
DHT22 Temperature-Humidity Sensor 用户手册
WAVESHARE ELECTRONICS
DHT22 Temperature-Humidity Sensor
DHT22 温湿度传感器用户手册
产品特点
本产品是已校准的数字温湿度传感器,用于检测环境温湿度,采用 DHT22(AM2302),标准单总
线接口。拥有比 DHT11 更高的精度和更大的量程。
产品参数
湿度
温度
分辨率
0.1 %RH
0.1 ℃
量程范围
0 ~ 99.9 %RH
-40 ~ 80℃
精度
±2 %RH (25℃)
±0.5℃
推荐存储环境
60%RH 以下
10°C ~ 40°C
工作电压
3.3V-5V
接口说明(以接入 MCU 为例)
VCC:接 3.3V ~ 5.5V
GND:接 GND
DOUT:接 MCU.IO
1
版本:V1.1。日期:2015 年 8 月 14 日
微雪电子
DHT22 Temperature-Humidity Sensor 用户手册
WAVESHARE ELECTRONICS
工作原理
该产品原理图如下:
Temperatrue-Humidity Sensor (B)
VCC
VCC
C1
R1
5.1K GND
DHT22
VCC
SDA
NC
GND
1
2
3
4
104
H1
1
2
3
VCC
GND
DOUT
W
GND
aveshare
VCC
R2
1K
GND
Led
引脚定义:
引脚
名称
描述
1
VCC
电源正(3.3V-5.5V)。
2
GND
电源地。
3
DOUT
数据端口,接到 AM2302 的 SDA 端。
AM2302 器件采用简化的单总线通信。单总线即只有一根数据线,系统中的数据交换、控制均由
数据线完成。单总线通常要求外接一个约 5.1kΩ 的上拉电阻,这样,当总线闲置时,其状态为
高电平。SDA 用于微处理器与 AM2302 之间的通讯和同步,采用单总线数据格式,一次传送 40
位数据,高位先出。具体通信时序如图所示。
2
版本:V1.1。日期:2015 年 8 月 14 日
DHT22 Temperature-Humidity Sensor 用户手册
微雪电子
WAVESHARE ELECTRONICS
AM2302 通信格式说明:
名称
单总线格式定义
起始信号
微处理器把数据总线(SDA)拉低一段时间(至少 800μ s)[1],通知传感器准备数据。
响应信号
传感器把数据总线(SDA)拉低 80μ s,再接高 80μ s 以响应主机的起始信号。
数据格式
收到主机起始信号后,传感器一次性从数据总线(SDA)串出 40 位数据,高位先
出。
湿度
湿度分辨率是 16Bit,高位在前;传感器串出的湿度值是实际湿度值的 10 倍。
温度
温度分辨率是 16Bit,高位在前;传感器串出的温度值是实际温度值的 10 倍;温
度最高位(Bit15)等于 1 表示负温度,温度最高位(Bit15)等于 0 表示正温度;
温度除了最高位(Bit14~Bit0)表示温度值。
校验位
校验位=湿度高位+湿度低位+温度高位+温度低位。
单总线通信时序
用户主机(MCU)发送一次起始信号(把数据总线 SDA 拉低至少 800µs)后, AM2302 从休
眠模式转换到高速模式。待主机开始信号结束后, AM2302 发送响应信号,从数据总线 SDA 串
行送出 40Bit 的数据,先发送字节的高位;发送的数据依次为湿度高位、湿度低位、温度高位、
温度低位、校验位,发送数据结束触发一次信息采集,采集结束传感器自动转入休眠模式,直到
下一次通信来临。(注:DHT22(AM2302)的数据格式和 DHT11 的数据格式不一样。)
外设读取步骤示例
主机和传感器之间的通信可通过如下三个步骤完成读取数据。
步骤一:
AM2302 上电后( AM2302 上电后要等待 2S 以越过不稳定状态,在此期间读取设备不能发送
任何指令),测试环境温湿度数据,并记录数据,此后传感器自动转入休眠状态。 AM2302 的 SDA
数据线由上拉电阻拉高一直保持高电平,此时 AM2302 的 SDA 引脚处于输入状态,时刻检测
外部信号。
步骤二:
微处理器的 I/O 设置为输出, 同时输出低电平,且低电平保持时间不能小于 800us,典型值是
拉低 1MS,然后微处理器的 I/O 设置为输入状态,释放总线,由于上拉电阻,微处理器的 I/O 即
AM2302 的 SDA 数据线也随之变高,等主机释放总线后, AM2302 发送响应信号,即输出 80 微
秒的低电平作为应答信号,紧接着输出 80 微秒的高电平通知外设准备接收数据,信号传输如图
所示:
3
版本:V1.1。日期:2015 年 8 月 14 日
DHT22 Temperature-Humidity Sensor 用户手册
微雪电子
WAVESHARE ELECTRONICS
步骤三:
AM2302 发送完响应后,随后由数据总线 SDA 连续串行输出 40 位数据,微处理器根据 I/O 电
平的变化接收 40 位数据。
位数据“0”的格式为: 50 微秒的低电平加 26-28 微秒的高电平;
位数据“1”的格式为: 50 微秒的低电平加 70 微秒的高电平;
位数据“0”、位数据“1”格式信号如图 所示:
AM2302 的数据总线 SDA 输出 40 位数据后,继续输出低电平 50 微秒后转为输入状态,由于
上拉电阻随之变为高电平。同时 AM2302 内部重测环境温湿度数据,并记录数据,测试记录结
束,单片机自动进入休眠状态。单片机只有收到主机的起始信号后,才重新唤醒传感器,进入工
作状态。
4
版本:V1.1。日期:2015 年 8 月 14 日
DHT22 Temperature-Humidity Sensor 用户手册
微雪电子
WAVESHARE ELECTRONICS
操作与现象
下面章节以三款款不同类型的开发板(Nucleo-F103RB, Arduino UNO, Open103Z)为例,描述具体
操作步骤及实验现象。
NUCLEO-F103RB
1)
用杜邦线将 DHT22 接到 Nucleo-F103RB,DOUT 接到 Nucleo-F103RB 的 D2 端口。
2)
用 keil 软件打开程序.\ mbed\Temerature-Humidity Sensor.uvproj ,并编译下载。
3)
打开串口监视软件,选择正确的串口号,并设置如下:
波特率:9600;数据位:8;停止位:1;校验位:None;控制流:None。
串口输出温度和湿度。
Arduino UNO
1)
用杜邦线将 DHT22 接到 UNO,DOUT 接到 UNO 的 D2 端口。
2)
将 DHTxx 文件夹复制到 Arduino 软件的安装目录 Arduino\libraries 下面。
点击 File --> Examples
--> DHTxx--> DHTxx 打开程序,并编译程序下载。
3) 点击 Tools -> Port 选择 Arduino 开发板的串口号,用打开串口监视器,设置 No line ending,
9600 baud。串口输出温度和湿度。
Open103Z
1)
用杜邦线将 DHT22 接到 Open103Z,DOUT 接到 UNO 的 PA3 端口。
2)
用 keil 软件打开程序.\ Open103Z\MDK_Project\DHT22,并编译下载。
3)
打开串口监视软件,选择正确的串口号,并设置如下:
波特率:9600;数据位:8;停止位:1;校验位:None;控制流:None。
串口输出温度和湿度。
5
版本:V1.1。日期:2015 年 8 月 14 日
DHT22 TEMPERATURE-HUMIDITY SENSOR 价格&库存
很抱歉,暂时无法提供与“DHT22 TEMPERATURE-HUMIDITY SENSOR”相匹配的价格&库存,您可以联系我们找货
免费人工找货- 国内价格
- 1+57.85560
- 10+56.37600