进阶之路(中级篇) - 016 温湿度传感器DHT11
如果想使用 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的更多相关文章
- STM32读取温湿度传感器DHT11和DHT21(AM2301)系列问题
1.DHT11和DHT21传感器 这两种传感器都是奥松公司的产品,具体的传感器说明书在其官网上有(www.aosong.com). DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 ...
- 温湿度传感器DHT11程序示例
DHT11概述 HT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器. 它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性.传感器包括一个电阻式 ...
- docker进阶之路-基础篇 | 一:环境搭建
转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061747.html 一.准备工作 查看内核 Docker 要求 CentOS ...
- docker进阶之路-基础篇 | 二:portainer安装与基本使用
转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html 简介 Portainer 是轻量级,跨平台,开源的管理D ...
- [转载] 树莓派读取温湿度传感器DHT11
原文地址: http://blog.csdn.net/liang890319/article/details/8739683 硬件: 树莓派 2.0 DHT模块 接树莓派5V GND GPIO1 功 ...
- 运维工程师打怪升级进阶之路 V2.0
在此之前,发布过两个版本: 运维工程师打怪升级之路 V1.0 版本发布 运维工程师打怪升级必经之路 V1.0.1 很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是 ...
- 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)
最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...
- 基于CC2530/CC2430 的温湿度采集系统--DHT11
采用常用的温湿度传感器DHT11 参见论坛中实例视频讲解http://bphero.com.cn/forum.php?mod=viewthread&tid=15&extra=page% ...
- 进阶之路(基础篇) - 012 Arduino IDE 添加DHT11传感器第三方库的方法
由于Arduino本身没有DHT 11温湿度传感器的的头文件,单有第三方的库可以给我门使用.方法如下: Step 1:下载地址:https://pan.baidu.com/s/1qYfdBJ2#lis ...
随机推荐
- 10gocm->session3->数据备份与恢复
这个实验考查我们当数据库出现问题宕机.数据丢失的情况下怎样挽回我们的损失,怎样在最短时间内恢复我们的数据库服务. RMAN规划 host target库 catalog库 ocm01 ocmdb ...
- node.js " The requested service provider could not be loaded or initialized"
I'm trying to use any of the NodeJS or NPM commands but I always got the following error: socket: (1 ...
- hadoop环境搭建与測试
搭建參看: http://blog.csdn.net/w13770269691/article/details/16883663/ 查看集群状态: [root@master bin]# hdfs df ...
- NAS 网络附属存储
本文内容 NAS NAS 功能 SAN 与 NAS 区别 NAS 底层协议 NAS 全球主要厂商 参考资料 NAS NAS(Network Attached Storage,网络附属存储)一种特殊 ...
- ScrollView嵌套ListView只显示一行解决方案
在ScrollView里边嵌套了个ListView,后边就发现数据源里好多数据,但ListView只是显示1行. 各种debug,打log,数据什么的都没问题,上网百度了下,发现原来是ScrollVi ...
- Solidworks如何打开swb文件
把swb文件拖放到Solidworks里面,会弹出窗口选择一个文件夹 随后会自动生成对应的文件,装配体
- ZH奶酪:PHP (爬虫)下载图片
原文地址:http://www.phpfensi.com/php/20140107/1128.html 通过图片地地址把图片保存到本址,这里我们直接通过readfile读取然后通过fopen保存即可, ...
- robot framework-databaselibaray库使用(python)
公司做项目用到了databaselibaray,刚开始使用时碰到了很多问题,网上也查阅了很多资料终于是可以用了,现在整理记录下来,有需要的同学可随意使用: 另,本文主要是databaselibaray ...
- LevelDB初体验测试
最近工作需要找一个能使用磁盘存储数据,对写要求比较苛刻,需要每秒达100000TPS,读的时候需要能10000TPS左右,不能占用太多内存.单节点满足这个要求的常见有Redis.Memcached等, ...
- 013-Go通archive/zip生成ZIP文件
package main import( "io/ioutil" "os" "bytes" "archive/zip" ...