用8266学习单片机-8-DHT温湿度传感器-传感器读取数据失败???-Failed to read from DHT sensor!

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
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值