0

これが私のコードです(基本的にすべてスターターキットの2番目の演習から):

int switchState=0;
int flag=0;
void change(int &i){
 if (i==0)
  i=1;
 else
  i=0; 
}

void setup(){
pinMode(3,OUTPUT);  
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2,INPUT);
flag=0;
}

void loop(){
 switchState=digitalRead(2);
 if (switchState==HIGH)
   change(flag);

 if (flag==0)
 {
  digitalWrite(3, HIGH); 
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
 }
 else{
  digitalWrite(3, LOW); 
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);

  delay(100);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(100);
 }
}

ボタンの「クリック」を取得して、点滅するLEDから安定したLEDに、またはその逆に切り替えたいのですが、最初のボタンクリックしか取得できません。

「変更」機能が一度しか機能しないのはなぜですか?

4

0 に答える 0