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

 /*********************************
代码功能:温湿度传感器DHT11
使用函数:
simple_dht11_read(DHT11传感器引脚,存放湿度数据地址,存放温度数据地址,存放40位01数据的地址); //获取温湿度数据函数
使用头文件:
#include <SimpleDHT.h> //需要安装库,具体安装方法见:http://www.cnblogs.com/jikexianfeng/p/6290203.html
创作时间:2017*1*18
作者邮箱:jikexianfeng@outlook.com
********************************/
#include <SimpleDHT.h>
int pinDHT11 = ; void setup()
{
Serial.begin();
} void loop()
{
Serial.println("=================================");
Serial.println("Sample DHT11...");
byte temperatyre = ; //温度
byte humidity = ; //湿度
byte data[];
if (simple_dht11_read(pinDHT11, &temperatyre, &humidity, data)) {
Serial.print("Read DHT11 failed.");
return;
}
Serial.print("Humidity (%):");
Serial.println(humidity);
Serial.print("Temperatyre(oC)");
Serial.println(temperatyre);
Serial.print("Temperatyre(oF)");
Serial.println(Fahrenheit(temperatyre));
Serial.print("Temperatyre(k)");
Serial.println(Kelvin(temperatyre));
Serial.print("Dew point(oC):");
Serial.println(dewPoint(temperatyre,humidity));
//Serial.print("Dew PointFast(oC):");
//Serial.println(dewPointFast(temperatyre,humidity));
delay();
} double Fahrenheit(byte celsius)
{
return 1.8*celsius+;
} double Kelvin(byte celsius)
{
return celsius+273.15;
} double dewPoint(byte celsius,byte humidity)
{
double A0 =373.15/(273.15+celsius);
double SUM = -7.90298*(A0-);
SUM+=5.02808*log10(A0);
SUM+=-1.3816e-78*(pow(,(11.344*(-/A0)))-);
SUM+=8.1328e-3*(pow(,(-3.49149*(A0-)))-);
SUM+=log10(1013.246);
double VP=pow(,SUM-)*humidity;
double T =log(VP/0.61078);
return (241.88*T)/(17.558-T);
} double dewPointFast(byte celsius,byte humidity)
{
double a=17.271;
double b=273.7;
double temp=(a*celsius)/(b+celsius)+log(humidity/);
double Td=(b*temp)/(a-temp);
return Td;
}

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

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

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

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

进阶之路(中级篇) - 016 温湿度传感器DHT11的更多相关文章

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

    1.DHT11和DHT21传感器 这两种传感器都是奥松公司的产品,具体的传感器说明书在其官网上有(www.aosong.com). DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 ...

  2. 温湿度传感器DHT11程序示例

    DHT11概述 HT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器. 它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性.传感器包括一个电阻式 ...

  3. docker进阶之路-基础篇 | 一:环境搭建

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061747.html 一.准备工作 查看内核 Docker 要求 CentOS ...

  4. docker进阶之路-基础篇 | 二:portainer安装与基本使用

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html ​简介 Portainer 是轻量级,跨平台,开源的管理D ...

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

    原文地址: http://blog.csdn.net/liang890319/article/details/8739683 硬件: 树莓派 2.0 DHT模块  接树莓派5V GND GPIO1 功 ...

  6. 运维工程师打怪升级进阶之路 V2.0

    在此之前,发布过两个版本: 运维工程师打怪升级之路 V1.0 版本发布 运维工程师打怪升级必经之路 V1.0.1 很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是 ...

  7. 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  8. 基于CC2530/CC2430 的温湿度采集系统--DHT11

    采用常用的温湿度传感器DHT11 参见论坛中实例视频讲解http://bphero.com.cn/forum.php?mod=viewthread&tid=15&extra=page% ...

  9. 进阶之路(基础篇) - 012 Arduino IDE 添加DHT11传感器第三方库的方法

    由于Arduino本身没有DHT 11温湿度传感器的的头文件,单有第三方的库可以给我门使用.方法如下: Step 1:下载地址:https://pan.baidu.com/s/1qYfdBJ2#lis ...

随机推荐

  1. TOJ 1220 填数字游戏 / 深搜

    填数字游戏 时间限制(普通/Java):1000MS/10000MS     运行内存限制:65536KByte 描述 有个小游戏,让你填写以下方框,要求: a1+a2+a3+M=b1+b2+b3+M ...

  2. [Canvas]首个小游戏告成

    英雄在地图上射箭杀怪兽,杀完了就胜利了. 点此下载程序试玩. 图例: 代码: <!DOCTYPE html> <html lang="utf-8"> < ...

  3. HDS TrueCopy-数据远程容灾白皮书-IOPS数据

    http://wenku.it168.com/d_000767925.shtml Truecopy 安装实施-包含图 http://www.docin.com/p-261693079.html 来自: ...

  4. Go语言中Path包用法

    // path package main import ( "fmt" "os" "path" "path/filepath&qu ...

  5. Word转PDF非常好用的软件——pdfFactory Pro

    pfdFactory Pro把word转为pdf的操作步骤: 1.打开将要转换的word的文档: 2.文件--->打印: 弹出如下对话框: 单击确定后弹出:

  6. Eclipse使用Maven创建Dynamic Web Project

    1. 点击File->New->Other,在弹出的对话框中选择Maven->Maven Project: 2. 点击Next,选择maven-archetype-webapp: 3 ...

  7. adb remount 失败:remount failed: Operation not permitted

    adb remount 失败:remount failed: Operation not permitted     关于ADB的使用,这里再说明下:经常使用命令 adb shell - 登录设备sh ...

  8. cocos2d-js V3.0 V3.1使用DragonBones

    DragonBones是Adobe支持的一个开源项目,用于制作和播放骨骼动画,官网地址是:http://dragonbones.effecthub.com/.DragonBones首先在Flash和S ...

  9. Calling a PL/SQL procedure in ODI

    新建procedure 新建一个测试表格EMP: CREATE TABLE EMP ( ) CONSTRAINT PK_EMP PRIMARY KEY, ENAME ), JOB ), MGR ), ...

  10. dubbo应用架构演进路线图

    1.单应用单服务器: 2.单应用拆分成多个应用并部署到多个服务器: 3.单应用拆分成多个应用并实现分布式部署: 4.流动计算框架(用于提高机器利用率的资源调度和治理中心).