スクラッチでLED輝度変化

前頁では、LEDの点灯/消灯を行いました。これはデジタル制御といいます。
このページでは、LEDの点灯の明るさを制御してみましょう。制御はデジタル制御ですが、明るさが連続的に変化
するという意味においてはアナログ制御的に見えます。
この様な制御を行うものにPWM制御というものがあります。

今回は、消灯状態から次第に明るくして行き、ある程度の明るさになれば今度は次第に暗くして 最後に完全消灯
させてみましょう。
前回はボード上のLEDを使いましたが、今回は各種デバイスが搭載されている拡張ボード(シールド)を使います
<Multi - function Shield マニュアル>
 http://files.cohesivecomputing.co.uk/Hackatronics-Arduino-Multi-function-Shield.pdf

参考情報
 関係HPへジャンプ(1)     同HP下段から更に参考HPへジャンプできます。
 関係HPへジャンプ(PINGを使う)


ボードの回路は以下の通りです。(拡大できます)


このボードには、D1~D4 の4個のLEDが搭載されています。
この内、D1、D3、D4 3個がPWM点灯できます。(ArduinoUNOの機能)

 D1 : Pin13
 D2 : Pin12
 D3 : Pin11
 D4 : Pin10

各LEDは、Arduino の上記 Pin につながっています。

D3 を使ってLEDの輝度UP->輝度DOWN を行うプログラムを作ります。


青旗を押されたらブロック以下、4つのブロックはボードに対する初期設定です。
最初のブロックは、Pin3(ブザー)を「HIGH」にして音を停止させています。(電源投入時音がなる)
2個~4個のブロックは、D1、D2、D4 の3個のLEDを消灯させています。(電源投入時LED点灯)
LEDを消灯させるには、PWMで「255」いわゆる「HIGH」にします。
フル点灯するには、PWMで「0」、ディジタル的には「LOW」にします。
上部にある回路図を見れば解りますが、負論理となっていますので間違えないでください。

ボードに電源を投入時、すべてのロジックが「LOW」となるので、すべての部品がアクティブになりLEDは
全点灯、ブザーは鳴りっぱなしになります。

一度プログラムを保存しておきましょう。


保存したプログラムを読み込むときも上記の「コンピューターから読み込む」で実行してください。