温湿度传感器DHT11

如果想使用 Arduino 开发板驱动 DHT11 来获取温湿度的时候建议使用第三方的库,这样可以加快程序的开发速度,而且不容易出错,下面的代码我已经安转了第三方的库了。详细的安装方法请参考极客先锋的博客:http://www.cnblogs.com/jikexianfeng/p/6290203.html 作者安装的为最低版本(1.0.0)。这样为了更好的兼容。

 1 /*********************************
 2 代码功能:温湿度传感器DHT11
 3 使用函数:
 4     simple_dht11_read(DHT11传感器引脚,存放湿度数据地址,存放温度数据地址,存放40位01数据的地址);    //获取温湿度数据函数
 5 使用头文件:
 6     #include <SimpleDHT.h>        //需要安装库,具体安装方法见:http://www.cnblogs.com/jikexianfeng/p/6290203.html
 7 创作时间:2017*1*18
 8 作者邮箱:[email protected]
 9 ********************************/
10 #include <SimpleDHT.h>
11 int pinDHT11 = 2;
12
13 void setup()
14 {
15   Serial.begin(115200);
16 }
17
18 void loop()
19 {
20   Serial.println("=================================");
21   Serial.println("Sample DHT11...");
22   byte temperatyre = 0;    //温度
23   byte humidity = 0;    //湿度
24   byte data[40];
25   if (simple_dht11_read(pinDHT11, &temperatyre, &humidity, data)) {
26     Serial.print("Read DHT11 failed.");
27     return;
28   }
29   Serial.print("Humidity (%):");
30   Serial.println(humidity);
31   Serial.print("Temperatyre(oC)");
32   Serial.println(temperatyre);
33   Serial.print("Temperatyre(oF)");
34   Serial.println(Fahrenheit(temperatyre));
35   Serial.print("Temperatyre(k)");
36   Serial.println(Kelvin(temperatyre));
37   Serial.print("Dew point(oC):");
38   Serial.println(dewPoint(temperatyre,humidity));
39   //Serial.print("Dew PointFast(oC):");
40   //Serial.println(dewPointFast(temperatyre,humidity));
41   delay(1000);
42 }
43
44 double Fahrenheit(byte celsius)
45 {
46   return 1.8*celsius+32;
47 }
48
49 double Kelvin(byte celsius)
50 {
51   return celsius+273.15;
52 }
53
54 double dewPoint(byte celsius,byte humidity)
55 {
56   double A0 =373.15/(273.15+celsius);
57   double SUM = -7.90298*(A0-1);
58   SUM+=5.02808*log10(A0);
59   SUM+=-1.3816e-78*(pow(10,(11.344*(1-1/A0)))-1);
60   SUM+=8.1328e-3*(pow(10,(-3.49149*(A0-1)))-1);
61   SUM+=log10(1013.246);
62   double VP=pow(10,SUM-3)*humidity;
63   double T =log(VP/0.61078);
64   return (241.88*T)/(17.558-T);
65 }
66
67 double dewPointFast(byte celsius,byte humidity)
68 {
69   double a=17.271;
70   double b=273.7;
71   double temp=(a*celsius)/(b+celsius)+log(humidity/100);
72   double Td=(b*temp)/(a-temp);
73   return Td;
74 }

如果采集回来的数据没有没有浮点型数据,所以浮点段字符数据为全部为0,这是传感器的问题,不能进行时代码为题。

/////////////////////////

参考网页:http://www.cnblogs.com/jikexianfeng/p/6290203.html

参考网页:http://wenku.baidu.com/view/dcdc9efa700abb68a982fbe0.html?re=view

时间: 2024-10-06 03:40:46

温湿度传感器DHT11的相关文章

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

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

Arduino 温湿度传感器DHT11模块实验

网上有很多DHT11的测试,试了N个程序,总是不得要领,各种报错,最后终于找到一套可用的库. 首先是DHT11.h文件 #ifndef __DHT11_H__ #define __DHT11_H__ #include <Arduino.h> //DHT11 IO设置 #define DHT11_DQ 2 #define DHT11_DQ_0 digitalWrite(DHT11_DQ,LOW) #define DHT11_DQ_1 digitalWrite(DHT11_DQ,HIGH) //函

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

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

12-开发板接入小五物联实现远程控制(stm32采集温湿度传感器DHT11)

采集DHT11温湿度数据, 使用stm32f103zet6 的GPIOG11引脚读取SHT11数据,通过串口打印采集的温湿度 dht11.c文件: #include "dht11.h" #include "delay.h" //复位DHT11 void DHT11_Rst(void) { DHT11_IO_OUT(); //SET OUTPUT DHT11_DQ_OUT=0; //拉低DQ delay_ms(20); //拉低至少18ms DHT11_DQ_OUT=

[转载] 树莓派读取温湿度传感器DHT11

原文地址: http://blog.csdn.net/liang890319/article/details/8739683 硬件: 树莓派 2.0 DHT模块  接树莓派5V GND GPIO1 功能:读取传感器数据并打印出来 // //mydht11.c // #include <wiringPi.h> #include <stdio.h> #include <stdlib.h> typedef unsigned char uint8; typedef unsign

传感器系列之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

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

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

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

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

FS_11C14温湿度传感器(二)

作者:刘老师,华清远见嵌入式学院讲师. 在FS_11C14平台DHT11传感器程序: /*******************************************************************************         * Function Name : Read_Temp_Hum         * Description : Read Temp & Hum.         * Input : - temp : temp buf pointer.