我正在使用如下所示的浮动开关(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中进行通信,但是用于这些开关的引脚不重叠。
答案 0 :(得分:0)
如@Juraj发布的链接中所述,D0(GPIO16)没有内部上拉电路。它具有内部下拉菜单。使用其他引脚。