开关状态不随物理变化而变化 nodeMCU 浮动开关

Switch state not changing according to physical changes nodeMCU float switches

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

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

这些开关中有 2 个随着开关移动命令改变状态,但其中一个开关没有改变状态并且永远停留在低电平

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

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

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

如 link @Juraj 中所述,D0 (GPIO16) 没有内部 pull-up。它有一个内部 pull-down。使用不同的引脚。