背景
元々、ESP32Servoライブラリを使っていたが、サーボ4個以上になると最初の3つ以外動かなくなる。
環境
Windows11
ESP32S3N16R8チップを使った自作基板
PlatformIO
試したこと
ledcwriteで動かしてみる
複数のサーボを動作させる際の注意点メモを参考にし、ledcwriteで書いてみた
ESP32Servoライブラリのexamplesも、ESP32Servoライブラリを使っているわけではないようなので、これを参考とした
→動かなかった…
ただ、issueを見ていると、ESP32-S3-Wroom-1で動かないという気になる記載が…
更に追っていくと、LEDc周りは125Hz以下で使えないようにボードバージョン2.0.4で変更があり、サーボの周波数は50Hzなので使えないのでは、ということであった
とりあえずの解決策としてはESP32-ESP32S2-AnalogWriteライブラリが使えるらしい
トーン音なども出せるようだ
ESP32-ESP32S2-AnalogWriteで動かしてみる
こちらの通りのサンプルコードで動いた
ESP32-ESP32S2-AnalogWriteのサンプルコードのServoのサンプルコードの方も試したが、動作しなかった
pwmWrite.hが重要らしい
それならなぜESP32servoで2つ動くのかは今後調査予定。