諸々の記録

その時々 興味にある事について

MobiFlight でLCDをつかう

MobiFlight で使うために LCDAmazonで購入。

 

購入したのはこれ。

 

Arduinoと2本の線で通信を行うI2Cモジュール付き(はんだ付け済)で 999円でした。

安い! (MobiFlight では I2C 接続のLCDが必要)

 

LCDとI2Cで接続するピン SDA と SCL は Arduino の種類によって異なるのですが、nano のピン配列を調べてみると、SDA が A4 で、SCL が A5 になっています。

https://content.arduino.cc/assets/Pinout-NANO_latest.pdf

なので、配線はこんな感じ。(LCDは 5V駆動なので、 VCC は 5Vに接続)

 

LCD のハード側の接続はすごく簡単なのですが、MobiFlight 側の設定はちょっと複雑です。

まず、デバイスの設定をします。 Add device で LCD Display を選択し、1行の表示文字数と行数を設定。忘れずに Upload config を実行して OK。


この時問題なく書き込みができると、LCD に  「MobiFlight Rocks!」と表示されます。かっこいい!

 

次に、表示させる情報の設定をしていきますが、ここでは、COM/NAV の周波数を表示させたいと思います。

 

Output configs の一覧で、一つ一つ下記のように設定していきます。COM/NAVともに2つあるので、プリセットを選択した後にインデックスを指定します(1or2)

 

表示する全ての情報を登録したら、これらを表示する画面の設定をするために、1行追加します。(ここでは LCD とする)

で、一番右の [...] をクリックして、ConfigWizard を表示。
sim variable タブで、Add Reference をクリックしてすべての要素を追加し、すべてのuseチェックボックスをチェック。
それぞれの要素の右側にある、1つの文字はディスプレイのデザインの時に指定する文字なので、デフォルトで大文字のアルファベットになっていたら、小文字に変更しておく。(小文字をLCDに表示しないというルールにする)
例えば、 A なら a 、C なら c としておく。


次に、Display タブをクリックし、レイアウトを指定する。
最初に設定したデバイスを選択してから、 Text のところの青いエリアがテキストボックスになっているので、自由に文字を配置することができる。
ここで、先ほどの要素で指定した文字を指定すると、その要素の左の桁から1文字ずつ表示される。


右下の Test ボタンをクリックすると、ここで指定したそのままの文字が LCD に表示される。すばらしい。(さきほどの要素の値を表示する文字が 例えば A だと、 NAV の A が数字になってしまうので a に変更した)


ここまでで設定は完了(したはず)なので、MSFSを起動して動作確認。


おお、ちゃんと表示できてる!

と思ったら、ちょっとおかしい・・?

この修正も調べるのに時間がかかったので、次回。