最近、Neopixel(マイコン内蔵RGBLED - WS2812Bとか)を100個ほど並べて使う機会がありました。
プロトタイプだったので適当なESP32のモジュールにつなげてテストをしようとしたらクラッシュしてリセットループに陥ってしまいました。
ESP32関係のI/Oの注意点まとめ
ESP32関係はGPIOとして出ているものの使い方を間違うと書き込みができなかったり、うまく動かなくなることがあります。
また、GPIOマトリクス機能があって様々な機能を割り当てられますが、それに該当しない専用ピンがあったりします。
ESP32もシリーズが増えてきて混乱してきましたので、少しまとめたいと思います。
専用ピンは個人的によく使うところをまとめています、UART (TXD0/RXD0) やADCなどは省いています。
ESP32でEthernetブリッジを作ってみました
ESP32は有線LANが使えるのは知っていて、実際に結構便利なのでいくつかモジュールも作っています。
無線LANと有線LANで異なるMACを持っているのでのネットワーク間のゲートウェイにも使えます。
ふと、片方無線よりどっちも有線のがいいのでは?と思ってしまったのでもう1個ポートを追加したものをノリで作ってみました。
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ベースの無線化モジュールが最近リリースされたみたいなので、紹介したいと思います。
スマート家電のコントローラはとにかくシンプルがいい
スマート家電やスマートデバイス、増えてきましたよね。
そのままで使えるものがほとんどですが、かゆいところに手を届かそうとすれば改造したり一から作ることになってしまいます。
ESP32やRaspberryPiを使ったりしますが、入出力はそのままでは貧弱ですのでどうしてもその部分の基板が必要になります。
設置環境に最適化したコントローラを作ってもいいのですが、汎用性が欠けますしコストもかかりがちです。
じゃあどういうものを作ったらいいんだと私も悩んできているので、悩み続けて行き着いた結果をお見せします。
トイレの人感センサーライトを消えないようにした
トイレに人感センサーライトをつけると非常に便利です、うちもそうしています。
トイレは他のどの部屋よりも照明のON/OFF頻度が高いでしょうから、その操作がなくなるのはちょっとしたライフハックです。ただ、長居する場合は注意が必要です。
じっとしていると人感センサーが反応せず、意図しないタイミングで消灯してしまうからです。
調べてみると同じような悩みが出てきたので、結構な人がこの問題に悩んでいるようでした。
それをデメリットとして受け入れるか、人感センサーライトを使わないかの2択のようです。
私もこの問題に長年悩んでたんですが、ついにこれが最適だと言える方法を編み出しました(笑)
スマートスイッチ(Sonoff Mini R2)をESP32で制御する
最近流行中(?)のスマートデバイスも色んな種類がで出てきました。
その中でも基本となるものがスマートスイッチだと思っています。
中にリレーが入っていてそれをON/OFFするだけものです。
一般的にはスマホのアプリから制御するのが基本ですが、やっぱりESP32などで直接制御したいと思ってしまうのです。
スマート電球(Wiz)をESP32で制御する
スマート家電が増えてきて非常に便利な昨今ですが、基本的にはスマホのアプリから制御する仕様になっています。
そうなるとセンサなどを組み合わせた制御はなかなか難しくなります。
PCから制御できたり、もっといいのはESP32などを使ったシンプルなモジュールから直接制御できたらいいなと思っていたので挑戦してみました。