Arduino 练习使用 DHT 11 temp/humid 传感器但遇到问题

Arduino practice with a DHT 11 temp/humid sensor but having an issue

我目前正在将温度数据从传感器发送到 lcd 16x2 显示器,我能够显示温度,但它一直从温度到 -999 交替变化,当我打印时,它也会在串行监视器中显示这样的数据他们也是。谁能告诉我我做错了什么? 这是我草率的代码,抱歉没有正确注明,但我仍在掌握基础知识。

#include <LiquidCrystal.h>
#include <dht.h>

dht DHT;

#define DHT11_PIN 12

LiquidCrystal lcd(13 ,11,10,9,8,7,6 ,5 , 4, 3 );

void setup(){
  Serial.begin(9600);
}

void loop()
{
 int chk = DHT.read11(DHT11_PIN);
 lcd.begin(16,2);
 lcd.print("Temperature =");
 lcd.setCursor(0,2);
 lcd.print(DHT.temperature);
 delay(1000);
}

首先,作为一个建议,将 lcd.begin() 函数放在设置函数中,而不是在循环中,因为 lcd 必须只初始化一次。

然后,阅读 DHT11 传感器的数据表,我发现两个传感器读数之间的最短时间应至少为 2 秒,因此可能将 delay(1000) 更改为 delay(2000) 应该可以完成这项工作。