### プロジェクト2: LEDの明るさを調整する
#### **(1)説明:**
前回のレッスンでは、LEDのオン・オフを制御し、点滅させました。
このプロジェクトでは、PWMを通じてLEDの明るさを制御し、呼吸のような効果をシミュレートします。同様に、コード内のステップ長と遅延時間を変更することで、異なる呼吸エフェクトを実現することができます。
PWMは、デジタル手段によってアナログ出力を制御する方法です。デジタル制御を使用して、異なるデューティサイクルの矩形波(高レベルと低レベルを常に切り替える信号)を生成し、アナログ出力を制御します。
一般に、ポートの入力電圧は0Vと5Vです。3Vが必要な場合はどうでしょうか?または1V、3V、3.5Vの切り替えが必要な場合は?抵抗を絶えず変更することはできません。そのため、PWMを利用します。

Arduinoのデジタルポートの電圧出力には、LOWとHIGHレベルしかなく、それぞれ0Vと5Vの電圧出力に対応しています。LOWを「0」、HIGHを「1」と定義し、Arduinoが1秒間に500個の「0」または「1」を出力するようにすることができます。500個の「1」を出力すれば5V、すべて「0」であれば0V、250個の「01」パターンを出力すれば2.5Vになります。
このプロセスは映画の上映に例えることができます。私たちが見る映画は完全に連続しているわけではありません。実際には、1秒間に25枚の画像を生成していますが、人間の目にはそれがわかりません。そのため、私たちは連続したプロセスと誤解してしまいます。PWMも同様の仕組みで動作します。異なる電圧を出力するためには、0と1の比率を制御する必要があります。単位時間あたりに出力する「0」または「1」が多いほど、制御がより精密になります。
#### **(2)パラメータ:**

- 制御インターフェース: デジタルポート3
- 動作電圧: DC 3.3-5V
- ピン間隔: 2.54mm
- LED表示色: 黄色
#### **(3)配線図**
ArduinoのPWMピンは3、5、6、9、10、11に接続されています。ピン9はそのままにしてください。

#### **(4)テストコード:**
以下に示すように、ブロックをドラッグしてコードを編集することもできます。



**完全なテストコード**
(**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用しており、Bluetoothシリアル通信と競合が発生し、アップロードが失敗する可能性があります。)

#### **(5)テスト結果**
テストコードのアップロードに成功すると、LEDは明るいところから暗いところへと徐々に変化し、人間の呼吸のように、すぐにオン・オフするのではなく、ゆっくりと変化します。
#### **(6)応用練習:**
遅延の値を変更し、ピンはそのままにして、LEDがどのように変化するかを観察しましょう。
**完全なテストコード**
(**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用しており、Bluetoothシリアル通信と競合が発生し、アップロードが失敗する可能性があります。)

開発ボードにコードをアップロードすると、LEDがより遅くに点滅します。