-
必要なライブラリのインポート: 最初に、PWM制御に必要なライブラリをインポートします。以下のコードを使用します。
#include <Arduino.h> #include <ledc.h>
-
ピンの設定と初期化: 使用する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); }
-
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制御を行うことができます。ぜひ試してみてください。