所以我尝试制作一个脚本,该脚本在true和false之间切换布尔值。由于某种原因,每当我按下连接的按钮时,布尔值都会变为1,但随后会立即返回为零
bool on = false;
if(digitalRead(inputOn) == HIGH && on == false){
on = true;
digitalWrite(outputLedGreen6, HIGH);
Serial.print("OnStatus");
Serial.println(on);
delay(500);
} else if(digitalRead(inputOn) == HIGH){
on = false;
digitalWrite(outputLedGreen6, LOW);
Serial.print("OnStatus");
Serial.println(on);
delay(500);
}
答案 0 :(得分:2)
bool on = false;
if(digitalRead(inputOn) == HIGH && on == false){
on = true;
digitalWrite(outputLedGreen6, HIGH);
Serial.print("OnStatus");
Serial.println(on);
delay(500);
}
else if(digitalRead(inputOn) == HIGH ){ //CHANGE THIS LINE HERE
//In the question, there was no else statement. Only 2 ifs. So whenever the first if statement executed, the second would also execute.
on = false;
digitalWrite(outputLedGreen6, LOW);
Serial.print("OnStatus");
Serial.println(on);
delay(500);
}