ESP32でのPWM出力(旧)

English page

PWM出力を使うことで、LEDの明るさを徐々に変化させたりすることができます。
このページでは、ESP32/ESP32-C3/ESP32-S3でのPWM出力の方法を解説します。
ESP32系のPWM出力関係のブロックは、「PWM出力」→「ESP32」のグループにあります。

ESP32系のPWM出力関係のブロック

PWMのチャンネルの設定

まず、「○○のチャンネル○の周波数を…」のブロックで、PWM出力に使うチャンネルと、PWMの周波数/分解能を指定します。

esp32_channel_setup.png

チャンネルの番号は、ESP32では0~15、ESP32-C3およびESP32-S3では0~7の範囲で指定します。
周波数と分解能は、LEDの明るさの制御であれば、デフォルトのままで特に問題ありません。
周波数と分解能の詳細については、ネットで記事を検索してお読みください。

ピンにチャンネルを割り当て

次に、「○○の○○をチャンネル○○に割り当てる」のブロックで、PWM出力に使いたいピンを、チャンネルに割り当てます。

PWM出力に使うピンをチャンネルに割り当てる

なお、このブロックを使う前に、「基本入出力」グループの「○○の○○番ピンを変数○○に割り当てる」のブロックで、あらかじめ変数にピンを割り当てておくことが必要です。

PWM出力を行う

ここまでの準備を行った後で、「○○のチャンネル○○にデューティ比○○%でPWM出力する」のブロックを使って、PWM出力を行います。
デューティ比は0~100の範囲で指定します。

PWM出力を行う(ESP32)

事例

4番ピンにPWM出力を行う例です。
デューティー比を0%と100%の間で上下させます。
4番ピンにLEDを接続すると、LEDが徐々に明るくなったり暗くなったりする動作を繰り返します。
このプログラムはこちらからダウンロードすることができます。

PWM出力の例(ESP32)