X-Plane コクピットの自作に挑戦!
ここに、低価格のTeensy++2.0を使ってX-PlaneのオリジナルB737-800のコクピットを自作しました。
まずは、ご覧下さい。ほぼ完璧近い状態で動作しています。
F/DとA/T ARMスイッチは実際はトグルスイッチになっていますが、ここではタクトスイッチを使っています。
一般的なトグルスイッチの場合、X-Planeの機能で自動的にOFFになる場合があります、そのとき当然ですがトグルスイッチは自動でOFFにすることはできません、それを実現することは困難です。あきらめてタクトスイッチにしています。
ここに紹介されているのはTeensyというボードですが、例題として、X-Plane用にプログラムされたスクリプトまで用意されていて、このビデオのようなことは以外に簡単に実現できます。
しかし、それを応用してオリジナルの自作コクピットを作成するには、やはりかなり苦労が伴います。
それでも、こうやって自作のスイッチやロータリーエンコーダでいろんな数値をコントロールできるということには非常に興味深いことです。
そのTeensyボードを購入できる本家のサイト:https://www.pjrc.com/teensy/td_flightsim.html
今回のコクピットには「Teensy++ 2.0, $24.00」を使っています。ピンが沢山ある分、一度に、色んなことが出来るということです。8bitですが問題なく動作します。32bitのTeensy3.5とか3.6でももちろん問題ないと思います。むしろこちらのほうがピン数も多く、高速で動作すると思います。
最近は日本のサイトでも販売されているところがあるので、そちらが安心して購入できるかもしれませんね。中国製の偽物Teensyが沢山あるので注意!

Teensyを使用するために、TeensyControls X-Plane PluginとTeensyduinoが必要です。
他には、プログラミングをするために Arduino が必要です。
パネルの作成
1、アルミでパネルを作成。

アルミ2ミリ(150✕300mm):550円位
アルミ1ミリ(150✕300mm):330円位
これを50✕300mmと100✕300mmに切り離して作成しました。
アルミとはいえ、切断が大変なので100✕300mmのアルミもある。
小さい方は7セグメントで数字を表示するパネルとして使います。切り離したのはこの部分はB737以外の機種でも共通で使用と思っているからです。
オートパイロット本体が広い方を使用します。
まずは、50✕300mm数字パネルの作成から行きましょう。7セグメントをこの穴の中に入れますので2mmの厚さが必要かなと思います。

プリンターで穴を開ける位置を作成してそれをアルミのパネルに貼り付けて置きます。4つの角隅に3mmの穴を開ける位置を正確にしてしておく必要があります。
A4ではわずかにサイズが小さいのでそれを考慮して位置を指定する必要があります。
ここでは紙にプリントしたんですが、フイルムラベル(少し高価?)が作業がやりやすいと思います。
一番左はすでに開けた状態ですが、2番目のようにドリルで穴をあけて、リッパーでむしり取る感じで中央を剥ぎ取ります。あとはヤスリでひたすた平らにしていきます。
アルミなのでこの作業は以外に簡単にすみます。穴をあんまりライン側にしないことと、均等に横一列に穴を開けるようにするのがコツでしょうか。
7セグメントをこの中に入れますのでこまめに合わせながら作業をする必要があります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
製品番号
EC12E2420801

24クリックのメカニカルロータリエンコーダです。
・12型絶縁軸タイプ EC12シリーズ
・操作部長さ:25mm
・クリック数:24
・パルス数:24
・定格:0.5mA 5VDC
・出力信号:A、B 2信号の位相差出力
・クリックトルク:3~20mN・m
・軸形状:Dカット
・軸径:6mm
・ピンピッチ:2.5mm
実際の秋月の商品、ナットが付いている(このナット必要、他でバラでは売っていない)

外形図
http://www.alps.com/prod/info/J/HTML/Encoder/Incremental/EC12E/EC12E2420801.html

取付穴寸法図

タクトスイッチ
http://akizukidenshi.com/download/ds/jianfu/TVGP01-G73BB.pdfダウンロード先:TeensyControls X-Plane Plugin 1.0(32 & 64 bit, X-Plane 10.20 or greater)
ダウンロードすると、このフォルダが出来ます。これをX-planeのpluginsに入れます。このTeensyが簡単にX-Planeと通信できるのはこのプラグインのおかげです。それと、Teensyの動作状況をこのプラグインで確認することもできます。
2、Teensyduinoをインストールします。バージョン1.29(1.08)は、フライトシムコントロールをサポートする最初のものです。

ダウンロードするとdmgファイルになります。ダブルクリックでインストールするとTeensyduino.appができます。インストール先は適当な場所でいいです。
※以下のインストーラを実行する前に、Arduinoソフトウェアをダウンロードしておく必要があります。
「Teensyduino」はTeensy用のライブラリをインストールします。
実際にアプリを起動したところ、中央の画像をダブルクリック

このインストーラを実行すると、ArduinoソフトウェアにTeensyサポートを追加します。
インストーラーが起動したところ(1.20になっているが1.29も同じです)

Nextをクリック
ここでチョットArduinoのある場所を探しあぐねるかもしれません。
私の場合はApplicationsフォルダに入れていたので最初にあるApplicationsを選択したけど、違う場所でした。
homeをクリックして、../ をクリック、そこに「Applications」が出るのでそれが目的の場所でした。

Teensyduinoをインストールするには、先にインストールした「Arduino」のアプリを選択します。

Allを選択してNextをクリック。

Installで終了です。
このアプリはTeensyのためのライブラリをインストールするためにだけに使うので、これで使用済みになります。
3、Arduinoを実行します。Tools > Boardsの中のTeensy2.0をまず選択します。

これ、最初は戸惑いますが、Board:”Arduino Uno”とかになっているかもしれませんが、
このサブメニューのTools > Boardsの中で自分が使っているTeensyに合わせて、私の場合はTeensy2.0を選択します。
その後、Tools > USBタイプがアクティブになるので、その中のメニューから「Flight Sim Controls」を選択します。

これで、X-Planeと通信ができるようになります。
点滅(blink)例を開きます。テストで実際のプログラムをTeensyに入れて実行してみます。
4、File > Examples > Teensy > USB_FlightSim > BlinkTransponderの

File > Examples > Teensy > USB_FlightSim > BlinkTransponderの点滅(blink)例だが、このように選択するようだ
5、開いたBlinkTransponderプログラムを、Teensyボードに書き込むために「Upload」をクリックしてください。

Uploadは実際はこのようになっている
この時点で、Teensyでうまく書き込みが実行されない場合がありますが、その時、TeensyLoader が自動で起動して、何をしなければならないかを教えてくれます。その指示に従ったやればうまく行くと思います。

TeensyLoaderによる指示(これが出たらこのボタンを押す)
6、X-Planeを起動します。X-Planeからの信号がTeensyボードに入ってきて、その信号がLEDによって点滅します。

ここが点滅

Plugins > TeensyControls > Show Communicationをクリックすると、

うすいグレーが表示され、その中に点滅にあわせて文字が表示されます。X-Planeをポーズにすると、点滅も止まります。
X-PlaneとTeensyが連動しているのがこれで確認できます。1と0で点滅と消灯を繰り返しています。
トランスポンダの通信信号の点滅が、X-PlaneとTeensyの両方でシンクロして実行されている様子がわかります。これで設定がうまくいっているのを確認できました。
これがうまくいったら、次はNav1の周波数の設定をロータリーエンコーダで行うという、最初の動画と同じことを行ないましょう。