开关状态未根据物理变化而变化nodeMCU浮动开关

问题描述

我正在使用如下所示的浮动开关(3个)和一个NodeMCU esp8266,

所有三个开关都以相同的方式定义(input_pullup)

这些开关中有2个随着开关移动命令而改变状态,但是其中一个开关没有改变状态,并始终处于LOW状态

请找到下面附带的引脚和代码,以及处于打开和闭合状态的开关的图片。

uint8_t level1=D0; //switch with issue // have also tried with D8 as only these two pins are free
uint8_t level2=D1; //switch working fine
uint8_t level3=D3; //switch working fine

    pinMode(level1,INPUT_PULLUP);
      pinMode(level2,INPUT_PULLUP);
      pinMode(level3,INPUT_PULLUP);
    }
    int currlevel=0;
    void loop() {
    
      int level1Sensor=digitalRead(level1);
      int level2Sensor=digitalRead(level2);
      int level3Sensor=digitalRead(level3);
      Serial.println(level1Sensor);
      Serial.println(level2Sensor);
      Serial.println(level3Sensor);

CLOSED STATE PICTURE OPEN STATE PICTURE

注意:我也使用nrf24L01在同一nodeMCU中进行通信,但是用于这些开关的引脚不重叠。

解决方法

如@Juraj发布的链接中所述,D0(GPIO16)没有内部上拉电路。它具有内部下拉菜单。使用其他引脚。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...