ESP32を使用したLEDのPWM制御方法


  1. 必要なライブラリのインポート: 最初に、PWM制御に必要なライブラリをインポートします。以下のコードを使用します。

    #include <Arduino.h>
    #include <ledc.h>
  2. ピンの設定と初期化: 使用するGPIOピンを設定し、PWMチャネルを初期化します。以下のコードを使用します。

    const int ledPin = 5; // LEDに接続されたGPIOピン番号
    const int ledChannel = 0; // 使用するPWMチャネル番号
    const int freq = 5000; // PWM周波数(Hz)
    const int resolution = 8; // PWM分解能(ビット数)
    void setup() {
     ledcSetup(ledChannel, freq, resolution);
     ledcAttachPin(ledPin, ledChannel);
    }
  3. PWM制御: LEDの明るさを制御するために、PWM値を設定します。0から255までの値を使用し、値が大きいほど明るくなります。以下のコードを使用します。

    void loop() {
     for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle++) {
       ledcWrite(ledChannel, dutyCycle);
       delay(10);
     }
    }

    上記のコードでは、ループ内でPWM値を0から255まで増加させ、ledcWrite()関数を使用してLEDの明るさを制御しています。delay()関数を使用して、各PWM値の状態を一定の時間保持します。

以上が、ESP32を使用してLEDのPWM制御を行うためのシンプルで簡単な方法です。これにより、LEDの明るさをフェードイン/フェードアウトさせたり、様々なアプリケーションで使いやすい光効果を実現することができます。

この方法を使用して、簡単にLEDのPWM制御を行うことができます。ぜひ試してみてください。