用户工具

站点工具


ocrobot:kit:arduino_star_kit:tutorial017

温湿度监控

这个例程展示通过串口输出当前环境的温湿度数据。

DHT11是温湿度检测中非常常用的一款处理器。

搭建电路

库安装

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

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

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

代码

// 这个例子用来驱动各款DHT温湿度传感器
// Written by ladyada, public domain
 
#include "DHT.h"
 
#define DHTPIN 2     // 定义DHT温湿度传感器连接到的引脚
 
// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11 
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
 
// 传感器的1号引脚(在最左边)连接到+5V
// 传感器的2号引脚连接到DHTPIN所定义的引脚
// 传感器的4号引脚(在最右边)连接到GND
// 在传感器的2号引脚(data)和1号引脚(vcc)之间连接一个10K电阻
 
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600); 
  Serial.println("DHTxx test!");
 
  dht.begin();
}
 
void loop() {
  // 读取温度或者湿度大约需要250毫秒时间
  // 传感器读取数据也可能超过2秒(它是一个反应速度很慢的传感器)
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 
  // 检查返回的数据是否是幼小的,如果是非数字数据,那么就说明出错了。
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");
  }
}

下载

ocrobot/kit/arduino_star_kit/tutorial017.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1