ペンギン技術 blog

CTFのWriteupなどを記載していこうと思います

ESP32に内蔵プルアップ抵抗はない(あるポートもある)

以下の現象が発生

ESP32-DevKitC-VE ESP32-WROVER-E開発ボードの  
D34、D35にタクトスイッチをつけたところ、  
スイッチにさわっていないのに、スイッチの入力が不安定になり、ON/OFFを繰り返す現象が発生。  

D13のタクトスイッチでは発生しない。  

スイッチを押したままにすると安定します。
「プルアップ抵抗がないのでは?」とググったら以下の記事があり、
「プルアップ抵抗があるのに安定しないのか・・・」と絶望したところ、下のほうに答えがありました。

ESP32に内蔵プルアップ抵抗はあるか(ある)
https://qiita.com/no_clock/items/a3bc8a9816534cf8c930

IO34~IO39はプルアップしません

githubでの「これらの入力専用ピンにはPU/PD回路がありません」という回答に
「GPIO」なのに「入力専用」ピンという呼び方は納得いかない」などとつっこまれていました。
たしかに。。。

D34はプルアップ抵抗(4.7kΩ)を5Vに接続
D35のほうはD32へつなぎ変えを行って対応しました。

(参考)
プルアップ抵抗・プルダウン抵抗の値の決め方は?(初心者向け)
http://kairo-consulting.com/blog/%E3%83%97%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E6%8A%B5%E6%8A%97%E3%83%BB%E3%83%97%E3%83%AB%E3%83%80%E3%82%A6%E3%83%B3%E6%8A%B5%E6%8A%97%E3%81%AE%E5%80%A4%E3%81%AE%E6%B1%BA%E3%82%81%E6%96%B9%E3%81%AF/

ESP32-dev-moduleのピンマップを確認する
https://leico.github.io/TechnicalNote/Arduino/esp32-pinmap


全く関係ないですが、以前、以下でハマったのを思い出しました。
M5Stack Aボタン連射機能回避の件
https://note.com/46u/n/nf105cd6a7934
これは自己解決できない・・・。
先人たちに感謝