アプリ版:「スタンプのみでお礼する」機能のリリースについて

arduinoでif文を使ったスケッチを書きました。
D0、D1、D2、には押しボタンスイッチを、2ピン、1ピン、0ピンにはLEDを接続しているとします。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

if (digitalRead(0) == HIGH){ //D0の状態を調べる、OFFなら次へ、ONならelse ifへ
digitalWrite(2,HIGH); //2ピンのLEDを1秒間点灯してif文を抜ける。
delay(1000);

}else if(digitalRead(1) == LOW){ //D1の状態を調べる、ONなら次へ、OFFなら次のelse ifへ
digitalWrite(1,HIGH); //1ピンのLEDを1秒間点灯してif文を抜ける。
delay(1000);

}else if(digitalRead(2) == LOW){ //D2の状態を調べる、ONなら次へ、OFFならif文を抜ける。
digitalWrite(0,HIGH); //0ピンのLEDを1秒間点灯してif文を抜ける。
delay(1000);

}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

このスケッチだと最初のelse ifを評価して、D1がONだった場合1ピンのLEDを1秒点灯させた後2つ目のelse ifを評価せずにif文を抜けますよね?

これを
最初のelse ifを評価してD1の状態を調べ、ONだった場合、1ピンのLEDを点灯させたまま、D2の状態を調べる。D2がONだった場合は0ピンのLEDを点灯させる(1ピン、2ピンの2つのLEDが点灯状態になる)。D2がOFFだった場合はそのままif文を抜ける。
点灯したLEDはif文を抜けた後も点灯状態を維持する。
という風にしたいのですが、どのようにすればよいのでしょうか?
よろしくお願いします。

A 回答 (1件)

どのタイミングで delay を実行するかが難しいところではあるけど, 基本的には


else if にしなければいい
だけ, だよね.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!