将 DHT11 连接到 ESP8266

connect DHT11 to ESP8266

我将 DHT11 连接到 ESP8266 的 D2 引脚。使用此代码。 在控制台显示"Read fail"。我该如何解决?

DHT11在Arduino上测试,正常工作。

#include "DHT.h"
#define DHT11PIN D2


DHT dht11(DHT11PIN, DHT11 );


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

  dht11.begin();

}

void loop() {
  delay(2000);
  float h11 = dht11.readHumidity();
  float t11 = dht11.readTemperature();
  float f11 = dht11.readTemperature(true);
}

Esp8266没有D2管脚。这是一个 nodemcu 定义。所以你可以使用

#define DHT11PIN 4
DHT dht11(DHT11PIN, DHT11 ); 

其中D2连接到Esp8266中的第4个gpio。

或者,您可以从设备管理器中将板类型正确设置为 NodeMCU 并添加

#include "Arduino.h"

到你的代码。