ゲーム(ソフト・ハード)

フライトシミュレーター用自作タッチミニパネル(その1:紹介編)

電子工作は昔から好きでやっていたのですが、それほど知識や技術もありません。年に数回半田ゴテを握る程度のライトユーザーです。
少し前にRaspbery Piが流行った時にPythonの勉強がてらにパーツを買ってきて簡単なものを作って楽しんでいました。まぁ基本的な知識も無いので本やWEBの通りに作って少し改造して遊ぶだけなんですけどね。
ただ電子工作と言ってもあまり実用性のないものは作りたくない主義なので、出来るだけ便利に使えるものが作りたかったのです。
そこで電子工作+フライトシミュレーターという好きな2つの合わせ技ということでフライトシミュレーター用のタッチパネルを製作しました。製作したと言っても1から自分で製作したのではなく作者がyoutubeで作り方を公開されている通りに作っただけです。
ただ本当によく出来ているので紹介させていただきます。かなり長くなりますので今回は紹介編とさせていただきます。作りたいと思われる方は本記事の続編(その2)か作者(Discman777さん)のYoutube動画をご覧ください。(私の続編は後日公開いたします。)

フライトシミュレーター用になんか作ってみたい!

昔はジョイスティック1台とそれに付いているボタン+キーボードで飛行機の操作をしていましたが、本物のジェット旅客機のボタンは200個位あるらしいのです。それを数個のボタン+キーボード+マウスで操作するのは覚えるのも大変だし操作もめんどくさいのです。
最近ジョイスティックにスロットルなどのコントローラーが増えたので、それはそれで満足していたのですが、人間、いや多趣味おじさんの欲望は果てしないものです。
今度は高度、方位などを表示してノブを回せるコントローラーが欲しくなってきました。下の図のMCPパネル部分が操作できる機器が欲しいのです。

世の中にはこだわりがすごい人がいますね。

調べるとお金持ちのフライトシミュレーター好きな方は、ご自宅に本物そっくりのコックピットを作っておられる方も沢山おられます。セスナ機のコックピットを作られる方もいればなんとジェット旅客機のコックピットを作っておられる方もおられます。ほんとにすごいなぁと思うのですが、私の甲斐性ではその一部さえ作ることが出来ません。

負け惜しみですが、多趣味おじさんはセスナからジェット旅客機まで飛ばしていますので、例えばセスナ風のコックピットで旅客機飛ばしたり、旅客機のコックピットでセスナ飛ばしたりするのはちょっと違和感があるように感じます。
私にとってリアルさはそれほど重要ではないと考えています。今の環境と狭い部屋で便利に楽しめる小さな機器を探していました。

まず考えたこと

まず考えたのは自分でArduinoなどの1チップマイコンを使って高度や方位などの表示とローターリーエンコーダーを使ってツマミを実現することです。そのためのプログラミングは、最初は自分で書くつもりでしたが、世の中には同じことを考える人が多くいて、そのためのプログラムを無償公開していただいている素晴らしい人たちがおられます。
代表的なのがMobiFlightという物です。プログラミング不要でArduino Mega 256というマイコンボードとfsuipc(FS2020用)とArdSimX(x-plane11用)を使用してフライトシムのコントロールが可能です。これが一見簡単そうなので準備を始めてみたのですが、割と良いマイコンボードを使って常駐させるプログラムも重そうなのでPCの負荷が高そうに思えたのと、飛行機の機種ごとの切り替えも面倒かもしれないと勝手に想像して諦めました。
(試作もせずに想像だけで早々に諦めてしまいましたので実際試していません。)

お、これは!という物を見つけた!が。。

次にYoutubeで見つけたのがDiscman777さんがYoutubeチャンネルで公開されている「ロータリーエンコーダー付きフライトシム」というもので、かなり気になり部品を発注してブレットボードで試作してみました。使用されているマイコンはArduino Pro Microというちょっとだけ高性能なマイコンです。高性能と言っても純正品で2000円前後。互換品なら1200円程度で買えます。あと20桁×4行のi2C LCDユニットとロータリーエンコーダーが5個必要です。
アリエクスプレスなら結構安価に作る事ができますが、アリエクスプレスは納期が、とてもアレですので、すぐに手に入るAmazonで部品は発注しました。
なお、これを試作するにはこの部品とは別にブレッドボードやジャンパケーブルなどの電子工作用の部品が必要となります。
余談ですが、このDicman777さん。このシステムのケースってCPUの空き箱みたいな物で作っておられるんですね。プログラミング技術はすごいのに、そのギャップに笑えました。このプロジェクト自体Dicman777さんにとっても試作品だったのでしょうね。

ロータリーエンコーダー付きフライトシムはすぐに動作しました。

試作なのでブレッドボードで簡易的に作成しましたが、いとも簡単に動作しました。ただ、このシステムはマイコンをUSBゲームコントローラーとして認識させて使用しますので、動画を見ていただいたらわかるのですが、多くのゲームコントローラーのボタンとして動作します。また少しLCDがチカチカ点滅します。「良いんだけど、これはこれで使いにくいかもなぁ?」と考え、試作品を作るだけで終わりました。というのはDiscman777さんはこのプロジェクトの発展型と言える、もっと良いのを作られて公開されていました。それが今回作ったものです。

マイコンをUSBで接続するとゲームコントローラーとして認識します。(Arduino Leonardoというゲームコントローラー名となります)

ずらりとボタンが並んでいます。

これが私が求めていたものです。T.M.P(Touch Mini Panel)システム

Discman777さんが「ロータリーエンコーダー付きフライトシム」の後に作られていたのがT.M.Pシステムです。ロータリーエンコーダー付きフライトシムより製作費は少しかかりますが、私の期待度はMAXでした。問題は私の知識と技術で作れるかどうか、少し不安でした。結果的にはDiscman777さんに色々サポートをいただきましたのでなんとか動作いたしました。

T.M.Pシステム(Touch Mini Panel)の動作
・タッチパネルでかなりの種類のスイッチを操作可能。
・ロータリーエンコーダーを4つ使用していますので簡単に値のセット可能
・FS2020とx-plane11で利用可能(接続用ソフトが必要です。)※FS2020用接続ソフトは有料です。
・x-plane11ではzibo B738とTolissの機体用に専用画面があります。

ここでリンクしているYoutube画面はT.M.Pシステムは初期Varsionのものです。最初から説明されていますので、こちらの方が分かりやすいのですが、リンクのプログラムは初期バージョンのものですので実際に作られる方はUpdate1Update2(2021.09.14公開)の動画を見てそのリンク先をダウンロードしてください。
なお、Update2はFS2020に限り有料の接続インターフェースを利用します。有料が嫌な方や初めて作る方はUpdate1を利用してください。ただし、Update1で使用するFS2020の接続インターフェースは日本語Windowsで致命的なバグがありますので、かなり面倒な事をする必要があります。
Update2ではFS2020での操作できることが増えたため、今後の事も対応も鑑みてUpdate2の方がお勧めです。なお、マイコンボードはESP32というロータリーエンコーダー付きフライトシムで使っていたマイコンより高性能のものを使います。

動画はFS2020での動作(旧バージョンですので画面は違います)

X-plane11での動作 (旧バージョンですので画面は違います)

最新版の動画(Update2)
記事を上げた当日に最新版が出てきました。FS2020での機能アップが行われました。

画面の説明

以降、画面の説明をさせていただきますが、私も作ったばかりなのとフライトシムもマニアックな操作に慣れていないので、全部の機能を把握しておりません。正しく理解されたい方は上のDiscman777さんの動画を見てください。

またタッチパネル画面は4.3インチと最近のスマートフォン画面より小さいです。かなり小さいボタンもありますので、スマホ用のタッチペンなどがあると便利です。
なお、タッチパネルは抵抗被膜式ですので専用の物でなくても大丈夫ですがボールペンのような先の尖ったものは使用しないようにしてください。
私はタッチパネルが小さいので後日7インチのタッチパネルに改造しようと考えたのですが、慣れるとこのコンパクトさが気に入ってしまいましたので、このままで運用しようと思います。

※7インチのタッチパネルは解像度が800×400ですので動作しないようです。必ず4.3インチで作成してください。

なお、この画面は旧バージョンの画面ですので、後日新バージョンの画面に差し替えさせていただきます。

Autopilot画面(Toliss機体用)

私はオートパイロットのボタンはジョイスティックに割り当てているのであまり使いませんが、SPD・HDG・ALT・V/Sが下にある4つのロータリーエンコーダーに割り当たっていますので、回して値をセットできます。これは結構感動ものです。
また画面下のEFIS・RANGE・BAROをタップして選択しロータリーエンコーダーを回せば、各スイッチが切り替わります。
各種オートパイロット等のボタンはタッチすると機能します。

Situation画面(各機体共通画面)

この画面は各種状態の表示が主になりますが一部操作可能です。
4つの〇が表示されているのは下のロータリーエンコーダーの位置を表しています。BAROを変更するには左端のロータリーエンコーダーを回す。左から2番目はラダートリムというようになっています。

GPS(FS2020用画面 Update2からの新機能)

こちらはUPDATE2でリリースされたGPS画面です。ガーミンのG1000・G530などを以前のバージョンより細かくコントロールできるようになったようです。画面はG1000のものですが、G530(G430)に切り替えると画面も変わります。
私はガーミン自体の操作方法を知りませんので詳しく説明できないのでDiscman777さんの動画で確認してください。

RADIOS画面(各機体共通画面)

私は無線の周波数切り替えをほとんど自動でやっていますのであまり使っていません。手動で切り替える時はSTBY POOLの方を長押しして、周波数をタッチパネルで変更後、割り当てたいラジオ(COM1・COM2・NAV1・NAV2)をタッチして切り替えます。

DEVICES(FS2020/x-plane11 一般機体用)

灯火類のON・OFF
アンチアイス
バッテリー&エンジン
ロータリーエンコーダーはレシプロ機のセルスターターのように使えます。ちょっと面白い使い方です。

PANEL(Toliss機体用)

この画面も秀逸です。旅客機の操作パネルはコールド&ダーク状態から起動すると見えない位暗いです。この照度を一気に調整できます。
・左端ロータリーエンコーダー パネル面の文字の明るさ
・左2番目ロータリー     フロア照明
・右2番目ロータリー     ディスプレイ(PFD・ND・EICAS)の明るさが変わります。
・右端ロータリーエンコーダー FMSの画面明るさが変わります。

なお、画面一番上をタッチして選択すると左右のワイパー速度・キャビンプレッシャーのロータリースイッチが変更可能です。私はほとんど使った事ないです。
灯火類やアンチアイスはタッチでON・OFFできます。

SIM OPTION

これもありがたい画面です。
・フライトシム時計を瞬時に変えて昼間から夜にすることが出来ます。夜景を見たい時には重宝します。
・シミュレーション時間を早くしたり遅くしたりできます。
・メインボリュームの変更

More….

ここの「CONFIGURATION」画面で飛行する機体を選びます。
・Toliss機体
・FS2020(重要なお知らせ)
・x-plane11一般設定
・ZIBO B738
種類をタップして「Activate」を押してからリスタートします。

タッチパネル下の設定はタッチパネル自体の明るさとかスクリーンの省電力時間などの調整用です。
残念ながらFS2020のFBW A32NXの専用画面はありません。新しい機体のコントロールは旧インターフェースでは出来なかったようです。

※FS2020の動作について重要なお知らせがあります。
Update1まではFS2020のデータ接続にはFS2020 to arduinoというフリーウェアを使用されていたのですが
今回のUpdate2では FS2020 to arduino の使用を中止し、SPAD.neXtというインターフェースに切り替えされました。 FS2020 to arduino は日本語版Windowsで致命的なバグがありましたのでそれはそれでよかったのですが、次のSPAD.neXtは有料なようです。
(14日間のトライアルあり)24.99ユーロのようです。(3250円位)
これによりFS2020で操作できるコントロールが増えたようです。
また現在はFBW-A32NXには未対応ですが、SPAD.neXtに切り替えることにより将来的にはA32NXのような新しい機体のコントロール画面が可能になるかもしれないという事です。現状では開発途中の状態ですのですぐには実現できない機能らしいです。でもこれはかなり期待したいですね。

次回予告です。

次回は実際の作り方を解説いたします。Arduinoや電子工作に詳しい方ならDiscman777さんの動画を見るだけで作れるのですが、(私も含めて)英語が苦手な方はYoutubeの自動翻訳を活用して理解いたしましょう。

なお、多趣味おじさんに製作を依頼されてもお受けすることはできません。ご自身でチャレンジされるか、電子工作が得意なお知り合いにでもお願いしてください。

お約束事ですが、これを制作しても動作しなかったり、接続ミス等でPC等の機器に損害が発生したとしても多趣味おじさん及びDiscman777さんは一切の責任を負いかねますのでご了承願います。

ただ、作者(Discman777さん)に英語で問い合わせするのが(私も含めて)苦手な方は私のわかる範囲でよければお答えさせていただきますので、問い合わせ画面にてお問い合わせください。

最後にこんな素晴らしいシステムを無料で公開していただいたDiscman777さんに感謝します。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください