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"); } }
XNzE3ODIwMzYw
下载
ocrobot/kit/arduino_star_kit/tutorial017.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1