これが私のコードです(基本的にすべてスターターキットの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に、またはその逆に切り替えたいのですが、最初のボタンクリックしか取得できません。
「変更」機能が一度しか機能しないのはなぜですか?