#define OFF 0
#define ON 1
void setup() {
pinMode(12, OUTPUT);
pinMode(7, INPUT_PULLUP);
}
int toggle = OFF;
void loop() {
//ボタンを押されたらトグルを有効にする
if (digitalRead(7) == HIGH || toggle == ON) {
toggle = ON;
//ボタンが押され続けている場合の処理
while (digitalRead(7) == HIGH) {
led_flash();
}
//トグル有効中の通常ループ
led_flash();
}
//トグル動作中にボタンONでフラグを消す
if (digitalRead(7) == HIGH && toggle == ON) {
toggle = OFF;
//ボタンが押され続けている場合の処理
while (digitalRead(7) == HIGH)
{
led_flash();
}
}
}
//LEDを点滅させる
void led_flash() {
digitalWrite(12, HIGH);
delay(300);
digitalWrite(12, LOW);
delay(300);
}