极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20922|回复: 7

OCROBOT入门教程017--温湿度监控

[复制链接]
发表于 2014-4-25 16:11:16 | 显示全部楼层 |阅读模式
本帖最后由 董董soul 于 2016-10-27 11:07 编辑

DHT11是温湿度检测中非常常用的一款处理器。这节课我们学习一下怎样驱动它,然后通过串口输出当前环境的温湿度数据。

驱动DHT11我们会使用一个专门用于驱动它的库,什么是库呢?简单一点可以这么理解。库就是一个过程的集合。。。。貌似说的木有那么通俗。。。就用DHT11打比方,DHT11是单总线传感器,驱动他的时候我们需要写很多驱动代码,1,2,3,4步骤等等。。。。如果我们调用DHT11的库,在库中有一个函数叫做“启动”。当你运行“启动”函数时,就相当于运行了1,2,3,4这些步骤。代码结构就会更合理简洁易懂。


看一下硬件连接。



库文件有两种安装方法,首先介绍一下第一种。

我们打开IDE的目录,在里面可以找到libraries这个文件夹,该文件夹就是用来存放库文件的。




我们打开libraries,会看到各种库文件目录,我们把解压缩后的dht_sensor目录放在该文件夹下。



我们进一步打开dht_sensor文件夹,可以看到DHT.cpp和DHT.h。如果文件夹下不是.cpp和.h文件,又有一层dht_sensor那就会导致库无法使用,这点需要切记。



  1. // 这个例子用来驱动各款DHT温湿度传感器
  2. // Written by ladyada, public domain

  3. #include "DHT.h"

  4. #define DHTPIN 2     // 定义DHT温湿度传感器连接到的引脚

  5. // Uncomment whatever type you're using!
  6. #define DHTTYPE DHT11   // DHT 11
  7. //#define DHTTYPE DHT22   // DHT 22  (AM2302)
  8. //#define DHTTYPE DHT21   // DHT 21 (AM2301)

  9. // 传感器的1号引脚(在最左边)连接到+5V
  10. // 传感器的2号引脚连接到DHTPIN所定义的引脚
  11. // 传感器的4号引脚(在最右边)连接到GND
  12. // 在传感器的2号引脚(data)和1号引脚(vcc)之间连接一个10K电阻

  13. DHT dht(DHTPIN, DHTTYPE);

  14. void setup() {
  15.   Serial.begin(9600);
  16.   Serial.println("DHTxx test!");

  17.   dht.begin();
  18. }

  19. void loop() {
  20.   // 读取温度或者湿度大约需要250毫秒时间
  21.   // 传感器读取数据也可能超过2秒(它是一个反应速度很慢的传感器)
  22.   float h = dht.readHumidity();
  23.   float t = dht.readTemperature();

  24.   // 检查返回的数据是否是幼小的,如果是非数字数据,那么就说明出错了。
  25.   if (isnan(t) || isnan(h)) {
  26.     Serial.println("Failed to read from DHT");
  27.   } else {
  28.     Serial.print("Humidity: ");
  29.     Serial.print(h);
  30.     Serial.print(" %\t");
  31.     Serial.print("Temperature: ");
  32.     Serial.print(t);
  33.     Serial.println(" *C");
  34.   }
  35. }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-5-14 22:41:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-2-25 23:54:51 | 显示全部楼层
电阻是多大的啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-6 09:54:20 | 显示全部楼层
cddxwfl 发表于 2015-2-25 23:54
电阻是多大的啊?

用10K即可
回复 支持 反对

使用道具 举报

发表于 2016-1-27 13:19:33 | 显示全部楼层
有没有什么方法可以把测到的数据写到电脑的硬盘上啊
回复 支持 反对

使用道具 举报

发表于 2016-4-25 10:10:31 | 显示全部楼层
想问下这些pin我可以随便指定么,有什么说法么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-25 14:46:58 | 显示全部楼层
lglfa 发表于 2016-4-25 10:10
想问下这些pin我可以随便指定么,有什么说法么

DHT11是任意IO就可以,随便指定。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 00:59 , Processed in 0.050648 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表