電圧レベル変換モジュール
ESP32等を使っていると、5Vを3.3Vに変換、3.3Vを5Vに変換したいことがあると思います。
3.3V入力
0V入力
5V入力
0V入力
双方0V
双方5V、3.3V
電流は流れない。
ダイオードの方向が逆だとめっちゃ流れて、ダイオードが死ぬので注意
0V-5V入力
3.3V-0V入力
ダイオードにめっちゃ流れる。
結論
- FETと抵抗とダイオードで構成されている。
- HV、LV逆にするとダイオード壊れる
- 5V-0V,0V,-3.3V入力は壊れる。
I2Cの接続方法
ESP32のデータシート
I2Cはマイコン側の電圧でプルアップして使用する。
センサー(スレーブ)側はプルアップ線をGNDに落とすことしかできない。
よってマイコン側にはマイコン電源電圧~GNDの電圧のみしか入ってこない。
スレーブ側が3.3Vを認識できないとレベル変換が必要になる。
I2CにとってHIGH状態=ハイインピーダンス状態である。
マイコン側がGNDに落とす
マイコン側がハイインピーダンス
センサー側がGNDに落とす
センサー側がハイインピーダンス
電流は流れない
マイコン側にも3.3Vが伝わる
結論
問題なく伝わる。
マイコン側・センサー側どちらでもGNDに落とすと片側がハイインピーダンスであったとしても0Vになる。
| 0V | 5V | ハイインピーダンス | |
|---|---|---|---|
| 0V | OK | NG | 伝わる |
| 3.3V | NG | OK | 伝わる |
| ハイインピーダンス | 伝わる | 伝わる | - |














