查看: 309|回复: 0

DHT11+Mega2560 获取环境温湿度

[复制链接]

该用户从未签到

发表于 2021-9-19 18:52 | 显示全部楼层 |阅读模式
微信图片_20210919185032.jpg

代码如下:
————————————————————————————————————————————————————————————————————
#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" );
    }

  }
}


————————————————————————————————————————————————————————




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

本版积分规则

热门推荐

为什么ESP32不能使用超过3个GPIO引脚
为什么ESP32不能使用超过3
我用ESP32s作为主控制作的一个8路继电器,单独测试每一路都可以正常工作,但是一旦同
DIY炫彩灯带,竟如此简单,更有硬件开发工具免费领!
DIY炫彩灯带,竟如此简单
什么是涂鸦Arduino SDK? Arduino 是全球最流行的开源硬件平台,涂鸦官方推出的 Ardui
如何用PID代替电位器控制Arduino的PWM输出?
如何用PID代替电位器控制A
如题,想实现Arduino用PID代替电位器控制PWM的输出,以此来控制一个MOSFET驱动器,求
【原创】全球最小口袋3D打印机mini one直播教程贴
【原创】全球最小口袋3D打
最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
重大好消息,重大好消息,ARDUINO IDE支持中文变量名称了。
重大好消息,重大好消息,
我想念已久的中文变量名终于可以了。
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表