Menu
CoddyTech

if文による条件分岐

CoddyのArduinoジャーニー「はじめての回路」セクションの一部。レッスン 18/22。

ifは、条件が真のときだけいくつかの行を実行します。

if (waitTime > 200) {
  waitTime = waitTime - 200;
}

括弧内の部分が条件です。waitTime > 200は「waitTimeが200より大きい」という意味で、真か偽のどちらかです。真の場合、ボードは波括弧内の行を実行します。偽の場合はそれらをスキップし、閉じ波括弧の後から処理を続けます。

<は「より小さい」という意味です。他の比較演算子もすぐに学びます。

条件の後にセミコロンはありません。if (waitTime > 200);とすると、その場でifが終わり、中身は何もなくなります。そのため、波括弧内の行は毎回実行されます。

challenge icon

チャレンジ

簡単

スターターは、速くなったあと止まってしまう点滅です。修正しましょう。

  • 200より大きい間だけwaitTimeを小さくする

点滅は速くなったあと、200 msで点滅し続けるはずです。実行を押してから、チェックを押してください。

自分で試してみよう

int waitTime = 1000;

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(waitTime);
  digitalWrite(13, LOW);
  delay(waitTime);
  // waitTime が 200 より大きい間だけこれを実行する
  waitTime = waitTime - 200;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

はじめての回路のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド