DH11数字温湿度传感器

DH11数字温湿度传感器是一种集温度、湿度一体的复合传感器,它能把温度和湿度物理量通过温、湿度敏感元件和相应电路转化成方便计算机、PLC、智能仪表等数据采集设备直接读取的数字量。DHT11由电阻式感湿器件和NTC系数感温器件构成,具有校准数字信号输出功能,采用单总线串行接口,输出数据一共5个字节,分别表示:湿度整数位、湿度小数位,温度整数位、温度小数位及校验和,其中检验和为湿度与温度之和的最低八位数据。


arduino引脚


模块引脚


D2


S


5V


VCC


GND


GND

 1 double Fahrenheit(double celsius)
 2 {
 3         return 1.8 * celsius + 32;
 4 }    //摄氏温度度转化为华氏温度
 5
 6 double Kelvin(double celsius)
 7 {
 8         return celsius + 273.15;
 9 }     //摄氏温度转化为开氏温度
10
11 // 露点(点在此温度时,空气饱和并产生露珠)
12 // 参考: http://wahiduddin.net/calc/density_algorithms.htm
13 double dewPoint(double celsius, double humidity)
14 {
15         double A0= 373.15/(273.15 + celsius);
16         double SUM = -7.90298 * (A0-1);
17         SUM += 5.02808 * log10(A0);
18         SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
19         SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
20         SUM += log10(1013.246);
21         double VP = pow(10, SUM-3) * humidity;
22         double T = log(VP/0.61078);   // temp var
23         return (241.88 * T) / (17.558-T);
24 }
25
26 // 快速计算露点,速度是5倍dewPoint()
27 // 参考: http://en.wikipedia.org/wiki/Dew_point
28 double dewPointFast(double celsius, double humidity)
29 {
30         double a = 17.271;
31         double b = 237.7;
32         double temp = (a * celsius) / (b + celsius) + log(humidity/100);
33         double Td = (b * temp) / (a - temp);
34         return Td;
35 }
36
37 #include <dht11.h>
38
39 dht11 DHT11;
40
41 #define DHT11PIN 2
42
43 void setup()
44 {
45   Serial.begin(9600);
46   Serial.println("DHT11 TEST PROGRAM ");
47   Serial.print("LIBRARY VERSION: ");
48   Serial.println(DHT11LIB_VERSION);
49   Serial.println();
50 }
51
52 void loop()
53 {
54   Serial.println("\n");
55
56   int chk = DHT11.read(DHT11PIN);
57
58   Serial.print("Read sensor: ");
59   switch (chk)
60   {
61     case DHTLIB_OK:
62                 Serial.println("OK");
63                 break;
64     case DHTLIB_ERROR_CHECKSUM:
65                 Serial.println("Checksum error");
66                 break;
67     case DHTLIB_ERROR_TIMEOUT:
68                 Serial.println("Time out error");
69                 break;
70     default:
71                 Serial.println("Unknown error");
72                 break;
73   }
74
75   Serial.print("Humidity (%): ");
76   Serial.println((float)DHT11.humidity, 2);
77
78   Serial.print("Temperature (oC): ");
79   Serial.println((float)DHT11.temperature, 2);
80
81   Serial.print("Temperature (oF): ");
82   Serial.println(Fahrenheit(DHT11.temperature), 2);
83
84   Serial.print("Temperature (K): ");
85   Serial.println(Kelvin(DHT11.temperature), 2);
86
87   Serial.print("Dew Point (oC): ");
88   Serial.println(dewPoint(DHT11.temperature, DHT11.humidity));
89
90   Serial.print("Dew PointFast (oC): ");
91   Serial.println(dewPointFast(DHT11.temperature, DHT11.humidity));
92
93   delay(2000);
94 }
时间: 2024-10-24 16:31:16

DH11数字温湿度传感器的相关文章

Arduino调试温湿度传感器AM2321

AM2321是广州奥松电子生产的数字式温湿度传感器.虽是国产品牌,其精度也可以与国外的主流温湿度传感IC媲美. 尺寸:11.3x7.8x4mm(长x宽x高) 封装:0.05 pitch PTH 工作电压:2.6~5V 接口:I2C,最大速率100kbps,有特殊时序要求 分辨率:温度0.1°C,相对湿度0.1%RH 精度:室温时温度误差+/-0.3°C,相对湿度误差+/-3%RH 重复性:温度+/-0.2°C,相对湿度+/-0.1%RH 美中不足:与国外同精度产品相比,AM2321的重复性和漂移

传感器系列之4.5温湿度传感器

4.5 温湿数据采集实验 一.实验目的 了解智能传感器DHT11的原理与应用 掌握智能传感器DHT11的编程与操作方法 理解微处理器与湿度传感器DHT11之间的通讯 二.实验材料 具有USB 串口通讯的PC 机1 台 ADS1.2 集成开发软件1 套 J-Link-ARM 仿真器及软件1 套 NXP LPC2378 实验节点板1 个 LCD 显示实验板1 个 温湿度传感器模块1个 三.实验原理 振动传感器实验环境由PC机(安装有Windows XP操作系统.ADS1.2集成开发环境和J-Link

STM32读取温湿度传感器DHT11和DHT21(AM2301)系列问题

1.DHT11和DHT21传感器 这两种传感器都是奥松公司的产品,具体的传感器说明书在其官网上有(www.aosong.com). DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器.它应用专用的数 字模块采集技术和温湿度传感技术,确保产品具有枀高的可靠性与卓越的长期稳定性.传感器包括一 个电容式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接. DHT21(AM2301)湿敏电容数字温湿度模块是一款含有己校准数字信号输出的温湿度复合传感器.它应用专用

Arduino和C51开发DHT11温湿度传感器

技术:51单片机.Arduino.DHT11.温湿度传感器.传感器 概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产品的思维有很大的帮助 详细 代码下载:http://www.demodashi.com/demo/14729.html 一.DHT11温度传感器 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳

Arduino连接SHT10温湿度传感器--返回值不正常解决办法

如题目,arduino中连接温湿度传感器,用的是一个github开源项目,地址:点击打开,其实这个就是一个封装好的库,下载后把解压的文件夹复制到Arduino目录下的librarys文件夹内,重启Arduino,到此就算是到库成功了.下面看电路连接图: 注意DATA和SCK两个脚对于Arduino上的数字引脚,在写程序的时候要用到,如图所示:将 SHT15 的 Data 脚接到 pin11, SCK 接到 pin10 电路图片: 导入库的路径: 其实库里面提供了一个实例代码,你可以直接拿过来使用

AM2320 温湿度传感器 C51程序 uart串口输出温湿度

实物图 引脚图 接线图 效果图 源代码 //****************************************************************// //AM系列温湿度传感器,读IIC使用示例  //单片机 :AT89S52 或 STC89C52RC  //功能  :串口发送温湿度数据  波特率 9600  //晶振  :12M (用户系统时钟如不是12M 请更改相关宏定义及注释的延时时间) //波特率:9600 //编译环境:  Keil 4 //*********

Arduino I2C + 温湿度传感器Si7021

  Si7021是Silicon Labs生产的温湿度传感器芯片.其主要特性: 湿度精度:误差典型值+/-2%RH,最大值+/-3%RH(0~80%RH),出厂已校正 温度精度:误差典型值+/-0.3%°C,最大值+/-0.4%°C(-10°C~85°C),出厂已校正 测量范围:温度范围0~100%RH:温度范围最大-40°C~125°C 工作电压:1.9~3.6V 低功耗:工作时150μA,待机时60nA 接口:I2C,最大速率支持400kbps 长期稳定性:湿度≤0.25%RH/yr,温度≤

【Espruino】NO.14 温湿度传感器DHT11

http://blog.csdn.net/qwert1213131/article/details/35828873 本文属于个人理解,能力有限,纰漏在所难免,还望指正! [小鱼有点电] [Espruino中文社区] 在第10节演示过一个DS18B20温度传感器,这节引入可以同时检测温度和湿度的传感器DHT11,可检测温度范围0~50℃(精度为+/-1℃),湿度20~90%(精度为 +/- 4%).DHT11有时不能识别触发脉冲,或偶尔不能读取正确的数据,因此使用校验和机制来验证所以接收到的数据

张高兴的 Windows 10 IoT 开发笔记:DHT11 温湿度传感器

原文:张高兴的 Windows 10 IoT 开发笔记:DHT11 温湿度传感器 GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/DHT11Demo