[我正在尝试通过ESP8266将DHT11数据放到AdafruitIO上,但是它不起作用,并且一直像这样打印出来:
Read failFailed to read from DHT
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
Read failFailed to read from DHT
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
Read failFailed to read from DHT
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
Humidity: 255.00 % Temperature: 255.00 *C
这是我的代码
#include "DHT.h"
#include "Arduino.h"
#define DHTPIN 5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
} else {
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
}
}
[在与ESP8266一起使用时会失败,但是当我在Arduino MEGA2560上对其进行测试时,它运行良好。
是哪个ESP8266?是开发板还是ESP-01或类似产品?请提供更多信息,其中有太多的ESP8266开发板...
由于没有关于接线的图片,所以不能肯定地说,但是针脚号正确吗?我的arduino Uno克隆也有类似的问题,但是原因是连接/接线不良。
RandomNerd有很好的例子:ESP8266 DHT11/DHT22 Temperature and Humidity Web Server with Arduino IDE
尽管取决于具体型号,但大多数ESP8266的输出电源引脚均为3.3V。大多数传感器(包括DHT11)更喜欢接近5V的输入。 (它声称可以使用3.5V-5.5V)
这在过去使我迷惑不解,我偷偷地怀疑这就是您遇到的问题。