Menu
CoddyTech

コマンドで点滅させる

CoddyのArduinoジャーニー「入力」セクションの一部。レッスン 18/22。

3を入力すると、LEDが3回点滅してから停止します。loop()はすでに繰り返し実行されるので、回数のカウントを任せましょう。あと何回点滅するかを変数に保持します。loop()が実行されるたびに、残りの点滅回数があれば、1回点滅させて残りを1減らします。

int blinksLeft = 0;

void loop() {
  // Serial monitorから入力された数値でblinksLeftを設定する
  if (blinksLeft > 0) {
    // 1回点滅する
    blinksLeft = blinksLeft - 1;
  }
}

blinksLeftが0になると、ifはfalseになり、次の数値が入力されるまでLEDは消灯したままです。

数値の後の改行によって、1秒後にparseInt()が再び0を返します。前と同じように0を無視しましょう。そうしないと、残りの点滅回数が消されてしまいます。

challenge icon

チャレンジ

中級

シリアルモニターに入力された数だけ、13番ピンのLEDを点滅させます。

  • 文字が待機しているときは、parseInt()で数値を読み取り、0より大きければblinksLeftに格納します
  • blinksLeftが0より大きければ、1回点滅させ(200 ms点灯、200 ms消灯)、1減らします

Runを押し、シリアルモニターから3を送信してから、Checkを押します。

自分で試してみよう

const int ledPin = 13;

int blinksLeft = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Serialモニターから入力された数値をblinksLeftに設定する
  // blinksLeftが0より大きい間、1回点滅させてからblinksLeftを1減らす
}
quiz icon腕試し

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

入力のすべてのレッスン

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