ESP32[4] ledcWrite

digitalWrite(GPIO_NUM_XX,HIGH/LOW); はあるGPIOポートの出力のオン・オフを制御します。 GPIO_NUM_XX は既に定義されているので、自分で宣言する必要はありません。ちなみに、 GPIO_NUM_1は1  GPIO_NUM_2は2です。この関数はオンオフしか制御しないので明るさを変えることができません。明るさを変えたい時に使う関数は、ledcWrite( GPIO_NUM_XX,明るさ);です。これが使えるGPIOピンは全ての出力 GPIOピンで使えると思いますが、前回のブログで書いたように微妙に動きが違うので確認しながらピンを決めた方がいいです。

使い方は下記のように使います。

#include “analogWrite.h” を追加 

ledcSetup(チャンネル:0-15, サンプリング周波数:12800, PWMビット長:8);

ledcAttachPin(GPIO_NUM_XX, チャンネル:1-15);

ledcWrite(チャンネル:0-15, 明るさ);

チャンネルが0から15まであり、それぞれのチャンネルをGPIOに割り付けます。制御はチャンネルに対して行います。

サンプリング周波数:12800, PWMビット長:8にしておけばいいと思います。8ビットの場合、0-255の明るさ制御ができますが、人の目はリニアではないので、0付近の制御になると思います。128も255も見た目はそう変わらないです。