点滅速度を変える
CoddyのArduinoジャーニー「はじめての回路」セクションの一部。レッスン 3/22。
delay() はミリ秒(ms、1秒の1000分の1)単位で数えます。delay(1000) は1秒、delay(250) は4分の1秒です。
1回の点滅は、LEDが点灯している時間と消灯している時間を合わせたものです。1000 msの待ち時間が2回あると、点滅にかかる時間は2000 msです。数値を小さくすると待ち時間が短くなるため、LEDはより速く点滅します。
digitalWrite(13, HIGH);
delay(100); // 0.1秒間オン
digitalWrite(13, LOW);
delay(100); // 0.1秒間オフdelay() が受け取るのは整数のミリ秒だけです。delay(0.2) は5分の1秒にはなりません。ボードは小数部分を切り捨て、0 ms待ちます。5分の1秒にするには、delay(200) と書きます。
どちらの待ち時間も重要です。2つ目の待ち時間がないと、LEDは消灯した直後にすぐ再び点灯するため、消えていないように見えます。
チャレンジ
簡単スターターの点滅はゆっくりです。速くしましょう。
- 200 ms 点灯
- その後 200 ms 消灯
Run を押して動作を確認し、その後 Check を押してください。
自分で試してみよう
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000); // この待ち時間を短くする
digitalWrite(13, LOW);
delay(1000); // こちらも短くする
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
はじめての回路のすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド