首先要贴一张图。这张图很重要,一开始我犯错就在这。。。

 

我画红框的部分,就是ESP8266与Nodemcu之间的引脚IO关系

 

这个列表详细列示了。这之间的对应关系以及注意事项

 

基本上一看就能看明白,我一开始,链接D6的时候,在程序里边直接写的就是D6的IO号,所以读不出数据来,因为D6的IO号读取的事GPIO12的值,也就是说程序里应该填12而非6.这点是我犯得低级错误

 

OK。接温度传感器很简单,网上标准说要用5v.其实直连esp8266。3.3v也是没有任何问题的。按照标准图例,需要接电阻,3。3K的电阻好像,我这也没接也没任何问题,网上有人说,在DH11传感器上,已经接入了这个电阻,所以不需要再额外接电阻了。

 

程序引用了库

#include <SimpleDHT.h>

 关于引用该库,只需要在arduino中搜索并安装SimpleDHT即可

 

引用该库之后,代码就很简单了。

 

int pinDHT11 = 2; //IO2
SimpleDHT11 dht11(pinDHT11);

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

void loop() {

byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
return;
}

Serial.print((int)temperature); Serial.print(" *C, ");
Serial.print((int)humidity); Serial.println(" H");
delay(1500);
}

 

 

 数值稳步读出

 

 

我同时测试了继电器。也OK。所以,只要插好IO口,写好IO口号,基本上就很简单的操作了。

posted on 2020-01-08 10:20  孤独斗士  阅读(1195)  评论(0编辑  收藏  举报