真/假开关切换回零

时间:2020-04-01 16:56:07

标签: c arduino arduino-uno arduino-ide

所以我尝试制作一个脚本,该脚本在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);

  } 

1 个答案:

答案 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);

  }