LEDのオン/オフのフェード–Arduinoの基本

問題を排除するために楽器を試してください





投稿では、いくつかの基本的なコード実装を通じてLEDのオン/オフをフェードするプロセスを学習する基本的なArduino関数について説明しています。

フェージング効果の作成

LEDのフェードオン/オフを実装するためにanalogwrite()関数を使用する方法を説明します。この機能は、接続されたLED上で提案されたフェージングアクションを実行するために、ピン配置全体にPWMパルスを組み込んでいます。



必要なハードウェア

Arduinoに加えて、ブレッドボード、LED、220オーム、1/4ワットの抵抗などの他の材料が実験に必要になります。

サーキット

Arduinoで提案されたLEDのオン/オフフェードに関連する手順は次のとおりです。



1. LEDの長い方の端子を220オームの抵抗を介してデジタル出力ピン#9に直列に接続し、LEDのカソードまたは短い方の端子を直接アースまたは負の電源レールに接続します。

コード

ボードのピン#9がLED正ピンとして統合されると、setup()関数はそのままにしておくことができ、それ以上の操作は必要ありません。

Analogwrite()の形式のメインループコードコンポーネントには、いくつかの確認応答が必要です。1つ目は、書き込みに使用するピンに関する関数のアドレス指定であり、2つ目は、決定するPWMの値です。

接続されたLEDでフェージングON / OFF効果を開始するために、PWMをゼロから最大または255に、またはその逆に一貫して変化させ、単一の動作サイクル全体を完了することができます。

以下のコードは、輝度という名前の変数によって決定されるPWMの大きさを示しています。また、ループ内の変数fadeAmountによってインクリメントされます。

明るさが極値(0または255)の場合、プロンプトはフェードします

マイナスになる量。

つまり、fadeAmountが5の場合、-5に変更され、55に設定されている場合は5に変更されます。ループの後半では、これらの変更により明るさが変化し、アクションのコースも変化します。

関数analogwrite()は、スケッチの終了時の遅延がフェージング速度を制御するように、PWM値をすばやく変更します。
遅延値を試して、プログラムで生成された変更を調査することができます。
/ *
フェード

この例は、ピン9のLEDをフェードする方法を示しています。
AnalogWrite()関数を使用します。

このサンプルコードはパブリックドメインです。
* /

int led = 9 // LEDが接続されているピン
int輝度= 0 // LEDの明るさ
int fadeAmount = 5 // LEDをフェードさせるポイント数

//リセットを押すと、セットアップルーチンが1回実行されます。
void setup(){
//ピン9を出力として宣言します:
pinMode(led、OUTPUT)
}

//ループルーチンは永遠に何度も何度も実行されます:
void loop(){
//ピン9の明るさを設定します:
AnalogWrite(LED、明るさ)

//ループを介して次回の明るさを変更します:
明るさ=明るさ+フェード量

//フェードの終わりでフェードの方向を逆にします:
if(明るさ== 0 ||明るさ== 255){
fadeAmount = -fadeAmount
}
//調光効果を確認するには、30ミリ秒待ちます
delay(30)
}




前:110VコンパクトLEDチューブライト回路 次へ:高電圧、高電流トランジスタTIP150 / TIP151 / TIP152データシート