#はじめに
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を使用して、他の機器と接続します。