如何使用NodeMCU 0.9-12E引脚D0-D4

我一直在尝试将简单的传感器连接到D0-D4引脚中的任何一个,但是看到的值在各个范围内变化。 没有一致性可言。

开始怀疑这些引脚可能由于我的构建中包含的某个模块而被使用。 例如,我尝试使用NodeMCU DHT模块连接DHT11传感器。 我得到了以下返回值:

状态:-2
温度:-999
湿度:-999
temp_dec:0
humi_dec:0

我还尝试了PIR运动传感器,但无法触发它。 我在Arduino上连接这些传感器时没有任何问题。 我相当确定物理连接是正确的。

S -> D0-D4中的任何一个(不起作用)
 -> Gnd
+ -> VCC 3V

我的特定DHT11在PCB上具有10K上拉电阻器。

这些引脚不同的另一个提示是,我无法仅使用D0-D4中的D2作为我的SPI OLED DC。 其他任何引脚都会在显示器上显示垃圾。

以下是我的NodeMCU启动转储:

由frightanic.com自定义构建的NodeMCU
分支:主分支
提交:c8037568571edb5c568c2f8231e4f8ce0683b883
SSL:false
模块:adc,bit,cjson,coap,crypto,dht,enduser_setup,file,gpio,i2c,mqtt,net,node,pwm,rtctime,spi,tmr,u8g,uart,wifi
build建于:2016-02-03 23:59
由Lua 5.1.4提供支持,基于SDK 1.4.0

有没有人能够确认我构建中包含的任何模块是否干扰了我对D0-D4的任意使用?

或者,这些引脚不是为这些传感器预定的吗?

点赞
用户131929
用户131929

很难判断你的 Lua 代码是否正确,除非你向我们展示相关部分。你确认了 v1 的 devkit pin 是正确的,是吗?

如果是的话,可能是因为你没有在 Lua 中使用正确的 GPIO pin 映射吗?它们需要按照这个进行映射:http://nodemcu.readthedocs.org/en/dev/en/modules/gpio/

此外,我认为你应该使用带有[DHT模块](http://nodemcu.readthedocs.org/en/dev/en/modules/dht/)的固件,而不是使用 DHT Lua 示例脚本。

2016-02-05 13:03:58
用户5892698
用户5892698

Bonjour

我花了整整一天的时间让我的 NodeMCU 与 DHT11 传感器配合工作。问题是采用 Lua 固件的 ESP8266 对 DHT 传感器来说有点太慢了,特别是当 DHT 传感器开始发出第一个脉冲时。这是我从这个经验中得出的结论。

因此,将 nodemcu 的频率设置为 160MHZ 对我有很大帮助。 参考命令“node.setcpufreq(node.CPU160MHZ)

浏览论坛,似乎早期版本的固件在性能方面也更有效? https://piandmore.wordpress.com/2016/02/05/nodemcu-onewire-problem/ 我没有尝试过降级,但这可能值得一试。

希望这能对你有帮助。 Alain

2016-02-06 17:21:27
用户7959137
用户7959137

我在与DHT11进行接口操作时遇到了类似的问题。我尝试修改CPU频率,但是这并没有解决问题。最后我发现问题出在硬件设置上。我只需通过10K电阻(推荐是5K)将DHT11的数据引脚拉到Vcc(+5V)。从那以后我就没有遇到过任何问题。

2017-05-03 17:54:50