MobiFlight|7セグを使う

2022年4月28日
今回の開発環境 Window 11
MobiFlightバージョン9.3.2
Mega 2560 Arduino互換ボード

7セグメントディスプレイモジュールを接続し、MobiFlightコネクタを使用してCOM1周波数を構成する方法をやってみます。

STBYのCOM1周波数を表示します

ここでは、7セグメントディスプレイモジュールをArduinoメガボードに接続します。

7セグのディスプレイモジュールはMax7219チップをベースにしている必要があります。MobiFlightコネクタソフトウェアで制御できるのはこのチップだけです。

7セグメントディスプレイは、フライトシミュレータの現在設定されているCOM1周波数を表示するように構成されています。

まず、7セグメントディスプレイモジュールの電子接続について説明します。次に、MobiFlightコネクタソフトウェアの構成を段階的に示します。

今回の作成に必要なもの

  • MobiFlightコネクタの最新バージョン
  • 最新のMobiFlightファームウェアを搭載したArduinoMega2560
  • MAX7219-チップを備えたディスプレイモジュール。非常に安い価格で見つけることができます。

今回のモジュールはこのようなものです。

tl_files / bootstrapbase / img / tutorials / 7segment / max7219-led-tube.png

ArduinoMegaでの7セグメントディスプレイモジュールの接続

ArduinoMegaボードのピンでのモジュールの接続。今回の設定はこれと同じピンを使用している。

tl_files / bootstrapbase / img / tutorials / 7segment / arduino-led-segment-connection.png
  • Arduinoの5Vピンを介した電源(ピン22の上が5Vになっている)
  • GNDへの接続(上図では右の一番下がGND)
  • 3つの制御ライン
    • データ入力(DIN)- オレンジ、Arduinoの任意のデジタルピン(ピン22)
    • チップセレクト(CS)- 緑、Arduinoの任意のデジタルピン(ピン24)
    • クロック(CLK)- 灰色、Arduinoの任意のデジタルピン(ピン26)

ラベルDINCS、およびCLKは、後でMobiFlightコネクタの構成ダイアログに表示されます。これらのそれぞれを正しく割り当てることは、物事を期待どおりに機能させるための基本です。

MobiFlightコネクタの構成

MobiFlight Connectorを開くと、現在の構成の概要が表示されます。この例では、まだ何も構成されていないため、空の状態です。

MobiFlightボードを構成するため、MobiFlightModulesタブをクリック
ピンには、7セグのディスプレイモジュールがすでに接続されているかどうか確認する必要がある。

Settingsウインドウが表示される。MobiFligt Modulesタブを選択。
下の画像のように右クリックしてツリービューからLED 7-Segmentモジュールを選択。

7セグメントディスプレイモジュールがarduinoモジュール構成に追加されました。

右側では、追加するデバイスの接続したピン番号に応じて設定を定義します。

  • DIN – ピン制御ラインDATAIN-今回はピン22を使用。
  • CS – 制御ラインのピンCHIPSELECT-今回はピン24を使用。
  • CLK – 制御ラインのピンCLOCK-今回はピン26を使用。
  • Num – これはデイジーチェーン接続されているモジュールの数(最大8モジュールが可能)今回は7セグは1つしか使わないので1になる。
  • Global intensity – LEDモジュールの明るさの強度を低から高に設定できる。
  • Name – ここで名前を設定。この名前は、後で構成ダイアログで使用される。ここで意味のある名前を使用すると、後々で簡単になります。ここでは、「COM1Display」を使用します

最終的は以下のように変更。
DIN=22、CS=24、CLK=26、名前をLedModuleから「COM1Display」に変更します。

残りのステップが1つあります。新しい構成をボードにアップロードする必要があります。
ツールバーの左端にあるアップロードボタンをクリックします。

アップロードが成功したかどうかを示すメッセージが表示されます。これによりMobiFlightは、7セグメントディスプレイモジュールが接続されていることを記憶します。再起動したり、電源を切ったりしても。

[OK]ボタンをクリックして、[Settings]ダイアログを閉じます。構成の概要に戻りますが、まだ空です。

COM1スタンバイ周波数の構成を作成

次に、無線スタックのスタンバイ周波数COM1ディスプレイの新しい構成を作成します。

まず、空の行をダブルクリックしてキーボードから名前を入力することにより、新しい構成エントリに名前を割り当てます。ここでは、「COM1 Stand-by」とします。下の画像はActiveになっているが間違い。

行の終わりにある「…」ボタンのクリック。

構成ウィザードダイアログが表示されます。

利用可能なプリセットのリストから、対応する「COM STANDBY FREQUENCY:index」を選択。OKをクリック。

以下のようにインデックスを選択するダイアログが出るのでCOM1なので1を選択。

The selected preset expect that you set an index. An index typically is a number between 1 and 4, but can also be larger sometimes.

選択したプリセットは、インデックスを設定することを想定しています。 インデックスは通常、1〜4の数値ですが、それより大きくなる場合もあります。

1を選択して、OKボタンでウインドウを閉じる。

[Display]タブをクリックして以下のように変更します。

リストから正しい「COM1Display」を選択します。他のすべての設定は、プリセットによって事前に入力されています。ここでは何も変更する必要はありません。

試してみる

これまでにすべてが機能するかどうかを確認しましょう。上図の画面で「Test」ボタンを押します。

7セグメントディスプレイモジュールには、「123.45」という数字が表示されます。

どのセグメントもオンにならない場合は、配線を間違っている可能性があります。各制御ラインを再度チェックし、正しいピンに接続されていることを確認します。

ディスプレイが正しく機能する場合は、停止ボタンを押します。

[OK]ボタンをクリックして、ConfigWizardダイアログを閉じます。

MSFS2020を起動し、希望のフライトをロードして開始します。

MobiFlightコネクタと接続が確立されるまでしばらく待ちます。これは、MobiFlightコネクタの下にあるSim Statusバーにある緑色のチェック記号で示されます。

次に、上部ツールバーの「Run」ボタンをクリックしてMobiFlightConnectorを実行します。

これで、7セグメントディスプレイモジュールに現在設定されているCOM1値が表示されます。

シミュレーターで値を変更するとディスプレイも同期して数値が変化するのを見ることができる。

もし、COM1のアクティブ周波数を作成する場合は「COM ACTIVE FREQUENCY:index」を選択するだけである。