DHT11+Mega2560 获取环境温湿度-Arduino中文社区 - Powered by Discuz! Archiver

ws9528 发表于 2021-9-19 18:52

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]
查看完整版本: DHT11+Mega2560 获取环境温湿度