ESP32関係はGPIOとして出ているものの使い方を間違うと書き込みができなかったり、うまく動かなくなることがあります。
また、GPIOマトリクス機能があって様々な機能を割り当てられますが、それに該当しない専用ピンがあったりします。
ESP32もシリーズが増えてきて混乱してきましたので、少しまとめたいと思います。
専用ピンは個人的によく使うところをまとめています、UART (TXD0/RXD0) やADCなどは省いています。
ESP32で位相をずらしたPWM信号を生成する
ロータリーエンコーダのような出力(位相が90度ずれたパルス信号)をマイコンから出力したいなと思って調べているとどうやらESP32にはその機能があるみたいです。
さらには3相相補PWMというモータ制御にも使える機能も実は搭載されているようです。
そこまでしなくても、とりあえずは位相をずらしたPWMを生成できないかと色々試してみました。
これから説明する動作を確認できたのはESP32-C3とESP32-S2、ESP32-S3でした。
ESP32(ESP32-WROOM-32等)ではコンパイルが通って書き込めるものの動作はしませんでした。
別の記述方法があるのかもしれません。
無線シリアル通信モジュール「WiSer」の互換機を作ってみました
以前紹介した「WiSer」という無線シリアル通信モジュールに可能性を感じて欲しくなったのですが、技適の関係で純正品は使うのが厳しいです。
オープンソースハードウェアなので回路図もソースコードも公開されていますので、自分なりにカスタマイズして作ってみました。
「WiSer」は求めていた無線式シリアルモジュールかもしれない
シリアル通信を無線化したいなとずっと思っていたんですが、いいものが見当たらず諦めていました。
Bluetoothなどを使っても一応できそうではありますが、DTRやRTSなどのフロー制御の信号が柔軟に使えずArduinoなどのプログラム書き込みの無線化には使えそうにないです。
最近、懲りずに無線化のモジュールを探していたらWiSerというESP32ベースの無線化モジュールが最近リリースされたみたいなので、紹介したいと思います。