开关状态不随物理变化而变化 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。使用不同的引脚。
我正在使用如下所示的浮动开关(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。使用不同的引脚。