Arduino-fading-led
Arduino-フェージングLED
この例は、LEDをフェードオフする際にanalogWrite()関数を使用する方法を示しています。 AnalogWriteは、パルス幅変調(PWM)を使用して、デジタルピンをオンとオフの異なる比率で非常に迅速にオンとオフにし、フェージング効果を作成します。
必要なコンポーネント
次のコンポーネントが必要になります-
- 1×ブレッドボード
- 1×Arduino Uno R3
- 1×LED
- 1×330Ω抵抗
- 2×ジャンパー
手順
以下の画像に示すように、回路図に従って、ブレッドボード上のコンポーネントを接続します。
注-LEDの極性を調べるには、よく見てください。 電球の平らな端に向かう2本の脚のうち短い方がマイナス端子を示します。
抵抗器などのコンポーネントは、ブレッドボードソケットに適切に適合するために、端子を90°の角度に曲げる必要があります。 端子を短く切断することもできます。
スケッチ
コンピューターでArduino IDEソフトウェアを開きます。 Arduino言語でコーディングすると、回路が制御されます。 [新規]をクリックして、新しいスケッチファイルを開きます。
Arduinoコード
注意すべきコード
ピン9をLEDピンとして宣言した後、コードのsetup()関数で行うことは何もありません。 コードのメインループで使用するanalogWrite()関数には2つの引数が必要です。1つは関数に書き込むピンを指定し、もう1つは書き込むPWM値を指定します。
LEDをオフおよびオンにフェードするには、PWM値を0(完全にオフ)から255(完全にオン)に徐々に増やし、次に0に戻し、サイクルを完了します。 上記のスケッチでは、PWM値は明るさと呼ばれる変数を使用して設定されます。 ループを通るたびに、変数 fadeAmount の値だけ増加します。
輝度がその値の極端な値(0または255)である場合、fadeAmountはその負に変更されます。 つまり、fadeAmountが5の場合、-5に設定されます。 -5の場合、5に設定されます。 次回のループでは、この変更により、輝度も方向を変更します。
- analogWrite()*はPWM値を非常に高速に変更できるため、スケッチの最後の遅延がフェードの速度を制御します。 遅延の値を変更して、フェーディング効果がどのように変化するかを確認してください。
結果
LEDの輝度が徐々に変化します。