delay() と点滅のタイミング
実行を一時停止して、目に見える点滅リズムを作ります
「delay() と点滅のタイミング」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。
待機を追加する
ピンのオン・オフの切り替えはマイクロ秒単位で行われるため、速すぎて見えません。実際に点滅させるには、delayでボードを待機させます。⏱️
delayはミリ秒単位
delay関数は、指定した数のミリ秒だけスケッチを一時停止します。1秒は1000ミリ秒なので、delay(1000)は1秒間待機します。
delay(1000);点灯したまま待つ
LEDをHIGHにしてからdelayを呼び出します。ボードは停止し、次の処理に進むまでの待機時間中ずっと点灯したままになります。
digitalWrite(ledPin, HIGH);
delay(1000);次に消灯したまま待つ
次にピンをLOWにして、もう一度delayを呼び出します。その待機時間中、LEDは消灯したままになり、点滅のオフの時間を目に見える長さで確保できます。
digitalWrite(ledPin, LOW);
delay(1000);完全な点滅ループ
この4行をloop()内に並べると、オン、待機、オフ、待機を繰り返す安定した点滅になります。これが基本的なBlinkスケッチです。
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}速くしたり遅くしたりする
数値を変えるとリズムが変わります。delay(200)のように小さい値にすると素早く点滅し、大きい値にすると点滅が遅くなります。
delay(200);オンとオフの長さを変える
2つのdelayを同じ長さにする必要はありません。点灯時間を長く、消灯時間を短くすると、パルスの間に短い瞬きを挟む、安定した光になります。
delayはすべてを停止する
注意点があります。delay中、ボードはほかの処理を何も行いません。delayがスケッチ全体をブロックするため、ボタンやセンサーも読み取れません。
今はこれで十分
単純な点滅であれば、ブロックしても問題ありません。後で、プログラムのほかの処理を停止せずにイベントのタイミングを測る方法、millisを学びます。
短い待機と長い待機
delayはミリ秒を扱いますが、非常に短い待機にはdelayMicrosecondsを使います。後で、センサーのタイミングを正確に制御する際に必要になります。
繰り返しはloopが行う
繰り返し用のコマンドを書く必要はありません。loop()は自動的に再実行されるため、オン・オフ・待機のパターンが自動で永久に繰り返されます。
確認問題
LEDをちょうど2秒間点灯させたいとします。
まとめ
delayを使って点滅の間隔を調整し、ミリ秒単位で数えること、そしてほかの処理をすべてブロックすることを学びました。次は実際のLEDを配線します。🎉
AI チューターと学ぶ C++ — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「delay() と点滅のタイミング」レッスンは無料ですか?
はい。「delay() と点滅のタイミング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。
「delay() と点滅のタイミング」で何を学びますか?
実行を一時停止して、目に見える点滅リズムを作ります ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Arduino & IoT Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「delay() と点滅のタイミング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このArduino & IoT Academyレッスンでコードを書いて実行できますか?
はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- pinMode と OUTPUT
- digitalWrite の HIGH と LOW
- delay() と点滅のタイミング
- 外付け LED を安全に配線する