ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【ESP32】Wifi接続時のanalogReadについて

 最近特にネタがなかったのでブログを更新していませんでしたが、タイトルにあるような状況で色々と問題に出くわしたので残しておきます。


1:Wifi接続時にanalogReadをできないピンが存在する
 今回出くわした問題は「Wifi接続時にanalogReadできないピンが存在する」というものです。より具体的に書くと「#include "Wifi.h"のWiFi.beginを実行した際、2, 4, 12, 14, 15, 26, 27のピンでanalogReadが使えなくなる」という問題です。

 WifiとanalogReadを併用しようとした際にanalogReadの値が常に一定であることに気づき、色々調べた結果このような問題があることを知りました。

 参考資料にあるように、12, 14, 26, 27のGPIOピンが使えなくなるようです。
 (自分の場合は実際にGPIO27ピンでanalogReadをやっていました。また自分が観測した範囲では2, 4, 15のピンもanalogReadできませんでした)


2:Wifi接続時にanalogReadできるピンについて
 基本的には上記の12, 14, 26, 27以外のピンでanalogReadを行えば問題ないです。全て確認したわけではないですが、GPIO33ピンであれば問題なくanalogReadができるようになります。


 以上が今回わかったことです。
 この事象を知らないと詰まることがあると思うので、その際の助けになれば幸いです。


・参考資料
Conflict between WiFi.h and analogRead - ESP32 Forum