LED を明るくしたり暗くしたりする
値をループさせて呼吸するような光の効果を作ります
「LED を明るくしたり暗くしたりする」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。
一定の明るさから呼吸する明るさへ
固定した値を1つ使うと、明るさは一定になります。LEDをフェードさせるには、時間の経過に合わせてanalogWriteの値を変え続けるだけです。🌬️
計画:ゆっくり数え上げる
フェードインするには、明るさを0から255へ小さなステップで増やします。各ステップの間に少し待つことで、変化が見えるようになります。
上昇するループ
for loopは、値を順番に変化させるのに最適です。0から255まで数え、各値をLEDのピンに書き込みます。
for (int b = 0; b <= 255; b++) {
analogWrite(9, b);
delay(10);
}delayで速度を設定する
ループ内のdelayが、フェードの速さを決めます。待ち時間を長くすると、よりゆっくりと穏やかに明るくなります。
delay(10); // 10 ms per step今度は暗くする
フェードアウトするには、2つ目のループで明るさを255から0へ減らします。ここでも各ステップの間に待ち時間を入れます。
for (int b = 255; b >= 0; b--) {
analogWrite(9, b);
delay(10);
}両方をloop()に入れる
明るくするループと暗くするループをloopの中に置きます。Arduinoはloopを永遠に繰り返すため、呼吸するような効果が続きます。
ステップ幅で印象が変わる
1ずつ数えると非常に滑らかです。stepをb += 5に増やすとフェードは速くなりますが、少し段階的になります。
for (int b = 0; b <= 255; b += 5)範囲内に収める
カウンターは0から255の間に保ってください。この範囲外の値を書き込むと、値が循環したり上限・下限に収められたりして、滑らかな変化が崩れます。
別の方法:変数を1つ使う
2つのループを使う代わりに、brightness変数を1つと方向を保持します。繰り返しごとに加算または減算し、端まで来たら方向を反転させます。
brightness += direction;
if (brightness == 0 || brightness == 255)
direction = -direction;PWMピンを使う
これは9番のようなPWMピンでのみフェードします。通常のピンでは、LEDは滑らかに変化せず、オフからオンへ一気に切り替わります。
なぜ穏やかに見えるのか
呼吸するように見えるのは、小さなstepごとにデューティサイクルが少しずつ変化し、目がその細かな変化を平均して捉えるためです。
理解度チェック
フェードを滑らかにする要素について考えてみましょう。
復習:呼吸させる
明るさを0から255まで小さな遅延を挟みながら増やし、その後戻します。PWMピンでこれを永遠に繰り返すと、LEDが呼吸するように明滅します。✨
よくある質問
「LED を明るくしたり暗くしたりする」レッスンは無料ですか?
はい。「LED を明るくしたり暗くしたりする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。
「LED を明るくしたり暗くしたりする」で何を学びますか?
値をループさせて呼吸するような光の効果を作ります ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Arduino & IoT Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「LED を明るくしたり暗くしたりする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このArduino & IoT Academyレッスンでコードを書いて実行できますか?
はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- PWM の実際の動作
- analogWrite 0~255
- LED を明るくしたり暗くしたりする
- つまみで LED の明るさを制御する