DHT库

项目-加载库-管理库,搜索dht,安装对应的库
在这里插入图片描述

效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
你说更牛逼的??可以做出LED展示??web展示,那也很简单,请参考这个
服务器网页展示
四位数码管

案例

文件-示例-DHT- DHT_Unified_Sensor
这里需要注意两个地方

  1. 修改合适的数据读取管脚,默认为2(8266对应D4)
    个人喜好,我选择GPIO13 - D7管脚,修改为13
  2. 修改合适的DHT型号,默认为DHT22
    示例中有三种型号,把自己的型号注释去掉,然后把其它型号注释掉即可
    第二部很坑爹哇,我一下午都母鸡,然后结果只有这样
    Failed to read from DHT sensor!
    或者这样
21:50:36.982 -> Error reading temperature!
21:50:36.982 -> Error reading humidity!

我的内心!!。。!!于是我不断尝试换管脚、换开发板。。终于换了几个板子我放弃了。。温湿度模块说明也看了几遍。。。然后再看示例代码发现这玩意还有三种类型。。。我。。。。。然后看看自己的型号是DHT11,不是默认的DHT22.。。。。我不想说话了。。。

#include "DHT.h"

#define DHTPIN 13     // 数据读取管脚

#define DHTTYPE DHT11   // DHT 11		// 修改合适的DHT型号
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));

  dht.begin();
}

void loop() { 
  delay(2000); 
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.print(f);
  Serial.print(F("°F  Heat index: "));
  Serial.print(hic);
  Serial.print(F("°C "));
  Serial.print(hif);
  Serial.println(F("°F"));
}

进步在哪里

把数据显示在数码管上呗。或者显示在OLED屏上,或者显示在网页上

参考

  • https://www.w3cschool.cn/arduino/arduino_humidity_sensor.html
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐