0
votes

I connect DHT11 to pin D2 ESP8266. Use this code. In the console displays "Read fail". How can I fix it?

DHT11 tested on Arduino, it is working properly.

#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);
}
1

1 Answers

1
votes

There is no D2 pin in Esp8266. It is an nodemcu definition. So you can use

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

where D2 is connected to the 4th gpio in Esp8266.

Or, you can correctly set board type from device manager as NodeMCU and add

#include "Arduino.h"

to your code.