DHT22温湿度传感器工作原理

描述

一、功能简介

DHT22也被称为AM2302,具有标准的单总线接口。它相比DHT11,拥有更高的精度和更大的量程。它是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品连接方便,可直接插接到Arduino传感器扩展板上。

DHT22数字温湿度传感器精度较高,可以替代昂贵的进口SHT10温湿度传感器。在对环境温度与湿度测量要求较高的情况下使用,该产品具有极高的可靠性和出色的稳定性。与Arduino专用传感器扩展板结合使用,可以非常容易地实现与温度和与湿度感知相关的互动效果。

信号

二、引脚图

DHT22是一个四针脚模块,包含VCC、DATA、NC、GND四个引脚,实际使用中只会用到VCC、GND、DATA,NC引脚为空脚,VCC电压范围是3-5V。DHT22测量温湿度的原理,是通过内置电容式湿度传感器和热敏电阻来测量周围的空气,取得温度和湿度值后由 Data 引脚上向主控板发送一个数字信号。  

DHT22技术参数:

1、湿度测量范围:0---100%RH

        2、湿度测量精度:±2%RH

        3、温度测量范围:-40---80℃

        4、温度测量精度:±0.5℃

        5、工作电压:DC5V 常用

        6、单总线数字信号输出,串口数据双向口;

三、接线说明

arduino与DHT22的连接非常简单,VCC直接从arduino的+5V上取出,DATA引脚连接至2#数字针脚,GND连接至arduino的GND,DATA 和 VCC 跨接一个10K的上拉电阻。然后上传代码通过串口监视器即可实时监控环境温湿度。      

四、程序设计思路

// DHT 系列温湿度传感器代码示例,代码支持DHT11、DHT21、DHT22.

#include "DHT.h"
#define DHTPIN 2 // 定义2#针脚为DHTPIN

//#define DHTTYPE DHT11 // 如果是DHT 11 去掉注释
#define DHTTYPE DHT22   // DHT22 (AM2302), AM2321均采用此行代码
//#define DHTTYPE DHT21 // 如果是DHT21 (AM2301)去掉注释

DHT dht(DHTPIN, DHTTYPE);

void setup() {
   Serial.begin(9600);
   Serial.println("***DHT传感器***测试!");
   dht.begin();
}

void loop() {
   delay(2000); // 设置间隔时间为2000毫秒
   float h = dht.readHumidity();
   // 读取温度或湿度大约需要250毫秒
   float t = dht.readTemperature();
   // 将温度读取为摄氏温度(默认值)
   float f = dht.readTemperature(true);
   // 读取温度为华氏温度 (Fahrenheit = true)
   // 检查是否有读取失败 (重试).
   if (isnan(h) || isnan(t) || isnan(f)) {
      Serial.println("没有从DHT传感器上获取数据!");
      return;
   }
  
   // 计算华氏温度 (默认)
   float hif = dht.computeHeatIndex(f, h);
   // 计算摄氏温度 (Fahreheit = false)
   float hic = dht.computeHeatIndex(t, h, false);
   Serial.print ("湿度: ");
   Serial.print (h);
   Serial.print (" % ");
   Serial.print ("温度: ");
   Serial.print (t);
   Serial.print (" *C ");
   Serial.print (f);
   Serial.print (" *F ");
   Serial.print ("热量指数: ");
   Serial.print (hic);
   Serial.print (" *C ");
   Serial.print (hif);
   Serial.println (" *F");
}
最后打开串口监视器,在串口监视器中将显示的测量得到的温度和湿度,且每2秒更新一次。           

五、DHT22与DHT11参数对比

信号


 

 

原文标题:DHT22 温湿度传感器接线图及工作原理

文章出处:【微信公众号:智联开发Arduino】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分