はじめに
こんにちは!今回は「LEDをゆっくり明るくして、またゆっくり暗くする」いわゆるフェードイン/フェードアウトに挑戦してみます。
LEDの**アナログ出力(PWM)**を使うことで、"点く or 消える" だけでなく「ゆっくり変化」する表現ができるようになります!
使用する部品
| 部品名 | 数量 | 備考 |
|---|---|---|
| Arduino Uno | 1 | |
| LED(任意色) | 1 | |
| 抵抗(330Ω) | 1 | LED保護用 |
| ブレッドボード | 1 | |
| ジャンパーワイヤー | 数本 |
接続方法
| Arduinoピン | 接続先 | 内容 |
|---|---|---|
| D9(PWM) | LEDの+端子(アノード) | PWM制御出力ピン |
| GND | LEDの−端子(→抵抗) → GND列 | 電流をGNDに流す経路 |
※ LEDはPWM対応のピン(D3, D5, D6, D9, D10, D11など)に接続してください。

プログラム(フェード制御)
const int ledPin = 9; // PWM出力が可能なピン(D9)
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// フェードイン(明るく)
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledPin, brightness);
delay(10);
}
delay(500); // 少し待機
// フェードアウト(暗く)
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledPin, brightness);
delay(10);
}
delay(500); // 少し待機
}
実行結果
LEDがゆっくり明るくなって、またゆっくり暗くなる様子が見られます。
呼吸するような光に見えるので「ブリージングLED」とも呼ばれます。

おわりに
今回のフェード制御を応用すれば、インジケーターや光演出などにも使えます。
次は「複数LEDの制御」や「明るさを変化させるボリューム操作」などに挑戦してみましょう!








![ELEGOO Arduino用UNO R3スターターキット レベルアップ チュートリアル付 mega2560 r3 nanoと互換 [並行輸入品] ELEGOO Arduino用UNO R3スターターキット レベルアップ チュートリアル付 mega2560 r3 nanoと互換 [並行輸入品]](https://m.media-amazon.com/images/I/61Ck68ZmH1L._SL500_.jpg)