0Pricing
Arduino & IoT Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PWM の実際の動作
  2. analogWrite 0~255
  3. LED を明るくしたり暗くしたりする
  4. つまみで LED の明るさを制御する
← Arduino & IoT Academyに戻る