* 5V出力→3.3V入力のレベル変換 [#zcb60159] 5 V レベル出力のデバイスを 3.3 V レベル入力のマイコンにつなぎたい,という場面がありました. トランジスタや FET を噛ませてオープンコレクタ(ドレイン)相当にしてやるのも1つの手ですが,こんな回路を思いつきました. #ref(IMG_20190201_194130.jpg,center,10%) ダイオードは適当なスイッチングダイオード,抵抗はプルアップに適当な値,です. マイコンの GPIO に内蔵されているプルアップ抵抗を使えばダイオード1本だけで済みます. 動作は - H レベル出力の場合はダイオードが off となるので,3.3 V デバイスの入力端子電圧は 3.3 V - L レベル出力の場合はダイオードが on になり,3.3V デバイスの入力端子電圧は 0 V となります. 実際に回路を組んで動かしてみた波形は,このようになりました. #ref(IMG_20190201_195912.jpg,center,10%) 赤が 5 V レベル,黄色が変換された 3.3 V レベルです. 確かに H レベルでは 5 V が 3.3 V に変換されてますが,L では 0 V が 0.5 V ぐらいになっています. これはダイオードの順方向電圧降下 (Vf) が見えてしまってるためです. これはダイオードの順方向電圧降下 (Vf) の影響です. まぁ,ディジタル信号なので,入力ではちゃんと L レベルと判定されて問題はありませんが.