我试图通过我的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测试它时,它工作得很好。
发布于 2019-09-29 03:13:48
它是哪个ESP8266?是开发板还是ESP-01或类似的?请提供更多的信息,有这么多的ESP8266-板…
由于没有关于布线的图片,所以不能确定,但是引脚编号正确吗?我的arduino Uno克隆也有类似的问题,但当时的原因是连接/布线不好。
RandomNerd有非常好的例子:ESP8266 DHT11/DHT22 Temperature and Humidity Web Server with Arduino IDE
发布于 2019-09-29 11:16:18
虽然这取决于确切的型号,但大多数ESP8266s的输出电源引脚都是3.3V。大多数传感器(包括DHT11)更喜欢接近5V的输入。(它声称可以接受3.5V - 5.5V)
这在过去就是我的笑柄,我有一种潜移默化的怀疑,这就是你遇到的。
https://stackoverflow.com/questions/58147561
复制相似问题