値を比較する
CoddyのArduinoジャーニー「はじめての回路」セクションの一部。レッスン 20/22。
条件は2つの値を比較します。C++には6種類の方法があります。
==は等しい!=は等しくない<はより小さい、>はより大きい<=は以下、>=は以上
よくある間違いは、== と書くべきところに = と書いてしまうことです。= 1つは値を代入し、2つは比較します。
if (count == 5) { ... } // countは5ですか?
if (count = 5) { ... } // countに5を格納します!2行目はコンパイルされますが、これは落とし穴です。count に5を代入し、5は0ではないため、ボードはそれをtrueとして扱います。波かっこの中の処理は毎回実行され、ループのたびに count は5にリセットされます。
チャレンジ
簡単スターターコードは300 msごとにカウントアップし、それぞれの数値を出力します。1つの数値のときだけ、ピン13のLEDを点灯させましょう。
countが5に等しい場合は、LEDを点灯する- そうでなければ、消灯する
モニターに5が表示されている間はLEDが点灯し、それ以外の数値では消灯したままにします。Runを押してから、Checkを押してください。
自分で試してみよう
int count = 0;
void setup() {
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
count = count + 1;
Serial.println(count);
// countが5のときはLEDを点灯し、それ以外のときは消灯する
delay(300);
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
はじめての回路のすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド