gpt4 book ai didi

arduino - 从 DHT-11 传感器获取 NAN 读数

转载 作者:行者123 更新时间:2023-12-03 14:34:19 26 4
gpt4 key购买 nike

我正在尝试使用 arduino uno R3 从 DHT-11 传感器读取温度和湿度

#include <DHT.h>
#include <LiquidCrystal.h>

#define DHTPIN A3
#define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal lcd(5,8,9,10,11,12);

String hum="Humidity:";
String temptext="Temp:";

void setup() {

Serial.begin(9600);
lcd.clear();
lcd.begin(16,2);
dht.begin();
}

void loop() {

float humidity = dht.readHumidity();
delay(500);
float temp = dht.readTemperature();
delay(500);
Serial.println(hum+humidity);
Serial.println(temptext+temp);
lcd.clear();
lcd.print(hum + humidity);
lcd.setCursor(0,2);
lcd.print(temptext+temp);
delay (5000);


}

我确定我的接线是正确的。 DHT-11 只报告 NAN 的可能原因是什么?会不会坏了(我刚打开包装)?

最佳答案

相反的顺序:

问:会不会坏了?

答:不太可能。我唯一一次出现故障是当我将电压反向连接太长时间时。如果只是很短的时间,它可以存活下来。但是时间太长了,这东西就融化了。

问:看到 NaN 的可能原因是什么?

答:可能的原因:

1) 您正在使用模拟引脚接收数字信号。

2)电线松了

我经常运行几个传感站,上面有 2 或 3 个 DHT-22,我使用数字引脚。其中一些距离Arduino 20英尺。

但是,如果电线松动,我肯定可以看到 0.00。

这是我询问如何处理这些问题的问答:gnuplot: Faulty sensor sometimes reading 0.00 - how to convert them to missing?

当然,传感器并不是真的有问题。总是我拉了一根电线,它松了。失去与任何引脚的接触总是给出 0.00 读数。

因此,将其切换到数字引脚,看看它是如何工作的。

这是我的代码:

在 setup() 之前,请执行以下操作:

//     2 devices:  Input pins D2 and D5
#include <Adafruit_Sensor.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define DHT2PIN 5
#define DHT2TYPE DHT22
DHT dht2(DHT2PIN, DHT2TYPE);

然后
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
float df = t*(9.0/5.0)+32;
if (isnan(h) || isnan(t)) { h=0; df=0; }
float h2 = dht2.readHumidity();
float t2 = dht2.readTemperature();
float df2 = t2*(9.0/5.0)+32;
if (isnan(h2) || isnan(t2)) { h2=0; df2=0; }
Serial.print(h); Serial.print("\t");
Serial.print(df); Serial.print("\t");
Serial.print(h2); Serial.print("\t");
Serial.println(df2);
delay(30000);
}

关于arduino - 从 DHT-11 传感器获取 NAN 读数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com