DHT11+Mega2560 获取环境温湿度
代码如下:
————————————————————————————————————————————————————————————————————
#include "DHT.h" // 引用DHT库 菜单栏-》项目-》加载库-》管理库-》搜索 DHT11 下面第二个 DHT sensor library 就是,安装时选择全部安装
DHT dht(8, DHT11); // 实例化对象 (用8引脚 类型是DHT11)
float Shi_Du; // 湿度变量
float Wen_Du; // 温度变量
float Re_Zhi_Shu;// 热指数变量
void setup() {
Serial.begin(9600);
dht.begin(); // DHT11开始工作
}
void loop() {
Huo_Qu_DHT11_Wen_Shi_Du(500);
}
/*获取DHT11温湿度 */
unsigned long Shang_Ci_Huo_Qu_DHT11_Wen_Shi_Du_Shi_Jian ;
void Huo_Qu_DHT11_Wen_Shi_Du( int Jian_Ge_Shi_Jian ) {//获取DHT11温湿度
if ( millis() - Shang_Ci_Huo_Qu_DHT11_Wen_Shi_Du_Shi_Jian >= Jian_Ge_Shi_Jian) {
Shang_Ci_Huo_Qu_DHT11_Wen_Shi_Du_Shi_Jian = millis();
//获取DHT11温湿度大约需要250毫秒
Shi_Du = dht.readHumidity(); // 读取湿度
Wen_Du = dht.readTemperature(); // 读取温度
Re_Zhi_Shu = dht.computeHeatIndex(Wen_Du, Shi_Du, false);// 计算热指数
// 检查是否有读取失败并提前退出. isnan函数是用来判断是不是数字的
if (isnan(Shi_Du) || isnan(Wen_Du)) {
Serial.println("无法从DHT传感器读取数据!");
return;
} else {
Serial.print("湿度:" + String(Shi_Du) + "%");
Serial.print("温度:" + String(Wen_Du) + "°C");
Serial.println("热指数:" + String(Re_Zhi_Shu) + "°C" );
}
}
}
————————————————————————————————————————————————————————
页:
[1]