前頁では、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は
全点灯、ブザーは鳴りっぱなしになります。
一度プログラムを保存しておきましょう。

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