FabGLとOrange-ESPerで5 V、3.3 V両対応VGAシステムコンソール


はじめに

 USB-TTLやVGAシステムコンソール1の多くは、信号の送受信の際の電圧が固定されています。電圧の高いものから電圧の低いものに信号が流れると、受信側の機器が壊れることがあります。シリアル端子の対応する電圧を、双方の機器で確認して、配線する必要があります。
 USB-TTTLアダプタには、ジャンパピンで3.3 Vと5Vを切り替えることができるものもありますが、安価に入手可能なVGAシステムコンソールには、電圧固定のものが多いようです。3.3 Vと5Vのどちらでも接続可能なVGAシステムコンソールがあると、接続時に、VGAシステムコンソールに接続する機器の信号の電圧のみに注意するだけになり、作業工程を減らすことが可能となります。

FabGL

 2019年、Fabrizio Di Vittorio氏により、ESP32用のディスプレイ制御とグラフィックのライブラリである、FabGLライブラリが公開されました2

 このライブラリを用いると、ESP32で、VGAディスプレイへの出力、PS/2マウスおよびPS/2キーボードからの入力、音声出力が可能になります。ESP32にVGA、PS/2ポートを接続したボードが作者により公開されています。

これらのボードを購入して作者を支援するのが良いのですが、残念ながら、このボードは3.3 Vでの信号の入出力のみを行うので、本目的には、適合していません。

Orange-ESPer

 日本で購入可能なFabGLに対応したボードに、Orange-ESPerがあります3

 購入時のこのボードでは、信号の送受信は3.3 Vでのみ行えますが、部品を追加することにより、5 Vでの信号の送受信も可能となります。
 追加する部品は、2個の2N7000、2個の10 kΩ、2個の2x1のピンヘッダ、2個の2×1のジャンパピン、1個の6x1のピンヘッダです。これらの部品を取り付ける箇所は基板上に用意されています。

スケッチ書き込みの際の注意

 今回の用途には、「AnsiTerminal.ino」をArduinoIDEを使って書き込む必要があります。その際に注意が必要です。
 5 V、3.3 V両対応Orange-ESPerにスケッチを書き込もうとすると、エラーが出て書き込めません。2個のジャンパピンを外すと、問題なくスケッチが書き込めますが、書き込みのたびに外すのは不便です。
 IOポートのTXDをGNDに、あるいはUART1のTXDをGNDにつなぐと、問題なく書き込むことができます。写真の例では、UART1のTXDとGNDをつないでいます。

TXとRXへの接続

 5 Vを使う時はUART1のTXとRXを、3.3 Vを使う時はIOのTXとRXを使用して、他の機器と接続します。