諸々の記録

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

プロポ型PC用コントローラーを発掘

新しい3Dプリンタ Ender-3 V3 SE を購入して、PCデスクの下に配置したので、そこにあった物を整理しつつまだ要るものをクローゼットに入れるためにクローゼットの整理をしていたら、プロポ型PC用コントローラー発掘しました。

アクアシステム Compact Flight Controller (ACFC-RU7) というものです。


まあ、あるのは覚えてたのですが、最近は使う機会もなくずっとクローゼットの中に。
だいぶ昔にFMSというラジコンヘリのシミュレータをやるのに使っていたものです。

動くのかどうかPCに接続してみたところ動作しません・・
壊れたか? と思いダメ元で裏蓋を開けて中身を確認したところ、USBからの配線が1本とれてました。もともとこの1本は、はんだ付けが甘かったのだと思います。
これをはんだ付けし直してWindows11のPCに接続したらあっさり認識しました。
分かりやすい故障でよかったです。

以前遊んでいたFMS は WindowsXPまでしかサポートされていません。(現在開発とサポートが終了し開発元サイトも閉鎖)

フライトシミュレーター FMS | Hitec Multiplex Japan Inc.

なので、同じようなソフトがないか調べたところ、HELI-X というラジコンシミュレータソフトがありました。

Professional R/C Flight Simulation
試用もできるみたいですので、これをインストールしてみました。

で、コントローラを接続してソフトを起動したのですが、操作できません。
調べてみると、まず最初にコントローラの設定をして設定情報を保存しないとだめらしく、メニューの、「コントローラ設定」→「スティック設定」 で指示通りに全て設定して、最後に設定情報を保存(44.html というファイルを上書き)したら問題なく動作しました。


このソフト、5分ことくらいにお金払ってね(左下に Order のボタンあり)という広告が画面いっぱいに表示されるのがうざいですが、画面がきれいで動きもリアルで面白いです。

試用版では機体は、ヘリが2機種、固定翼機が2機種(うち1つは複葉機)と ドローンが1機種(DJI の phantom)あるので、気軽に遊ぶには十分です。

ドローンは超安定しているので最初に基本的な操作を覚えるのによいですね。
慣れてくると物足りなくなるので、固定翼機やヘリに挑戦。
ヘリが一番難しいです。
私は今のところ複葉機をゆったり飛ばすのがお気に入りです。
時間を忘れて没頭してしまいました。

ちなみに、ラジコンのプロポには操作モードというものがいくつかあり(4つらしい)私の持っている Compact Flight Controller (ACFC-RU7)  はモード1です。
モード1は右スティックの上下がスロットルで、中心にもどらず操作した位置を保持します。

下記の説明が分かりやすいです。

モード1を使うのは日本だけみたいですね。
左スティックが固定翼機の尾翼面の操作になっているので、飛行機の構造を理解している人にはわかりやすい気がします。
モード2は右スティックで前後左右の操作ができるので、高度を自動で保持してくれるドローンの操縦には適している(直感的にわかりやすい)ようです。
海外はモード2が主流で、日本国内もドローンの操縦はモード2を使っている人が多いみたいなので、ドローンの操縦を練習するにはモード2の方が良いということです。

私の持っている Compact Flight Controller (ACFC-RU7)  も分解すれば左右のスティックを入れ替えることもできるようなのでモード2に改造しようかとも思いましたが、ドローンパイロットになるわけでもないので、このままモード1で使いますw

 

新しい 3Dプリンタを購入!

これまで使っていた 3Dプリンター EasyThreed K9 は、やはり印刷サイズが小さい (10cm x 10cm) ですし、印刷速度が(とても)遅いのでちょっとしたものでもとても時間がかかってしまいます。
印刷精度もあまり良くないので、思い切って買い替えることにしました。

で、購入したのが前から欲しいと思っていた Creality Ender-3 V3 SE


本当は、置き場所の問題で印刷サイズが 15~18cm 四方くらいでもっと本体サイズが小さいのが良かったのですがそのくらいのサイズの3Dプリンタって選択肢がないんですよね。

なので、置き場所にをどこにしようかいろいろ考えて、結局上部にあるフィラメントスタンドを取ってPCディスクの下に入れました。

 

操作ディスプレイは取付ステーは付けないでケーブル接続しただけで右端に置いてあります。(写真では暗くてみずらいですが)
印刷ステージ(ベッド)は前後に動くだけなので、この位置にあれば邪魔にならないです。
ちなみに、ヘッド部分は左右と上下に動く。

PCディスクの中段にあった棚板は取り外して突っ張り棒を入れておきました。(左の方に物が置けるように)
あと、下段の棚板が奥行が短くてゴム足がはみ出てしまっていたので、セリアで買ってきた 45cmm x 30cm の MDFボード を敷きました。
この板のサイズがぴったりでした。

印刷時はフィラメントスタンドに置いたフィラメントをPCディスクのテーブルの上に置いてフィラメントを下に降ろす感じで印刷してみましたが、うまく印刷できました。

使った感想ですが、今までの苦労は何だったのかと思うほど簡単で早く、きれいに印刷できます。
この機種はレベリングもオートなので、フィラメントをセットして印刷スタートするだけです。
最新機種だけに、印刷速度も速く、6時間以上かかっていた3号機のパネルが1時間ちょっとで印刷できました。
しかも反らずにきれいに!

下の写真はその比較。(下が Ender-3 V3 SE で印刷したもの)


これからこの3Dプリンターで色々作っていきたいと思います。

MobiFlight でコントロールパネル3号機製作 まとめ

MobiFlight でフライトシミュレーター(MSFS2020)用コントロールパネル3号機の制作をしてきましたが、ブログでは古い記事が流れていってしまうのでここでまとめておきます。

【3号機 製作記事】

MobiFlight でコントロールパネル3号機の制作(1)

MobiFlight でコントロールパネル3号機の制作(2)

MobiFlight でコントロールパネル3号機の制作(3)

MobiFlight でコントロールパネル3号機の制作(4)

MobiFlight でコントロールパネル3号機の制作(5)

※ 補足記事(忘備録)

【忘備録】MobiFlight でLCDの画面切り替え設定


※ 過去の制作 まとめ記事

ラズパイでホームコクピット まとめ

ラズパイでホームコクピット G1000 のソフトキーパネル作成 操作とまとめ


3号機はコンパクトにできたので、結構気に入ってます。
私はMSFSでフライトするには PS4のコントローラーを使っているので、使わないときは邪魔にならず、コントローラーも作成したコントローラーパネルもフライトするときだけ、さっと出せるので良いです。


反省点(というか残念だった点)は、この3号機は購入した3Dプリンターでケースを作りたかったのですが、安物の3Dプリンターだったのでプロントパネルしか3Dプリンターで作れなかったことです。
もう少しよい3Dプリンターを買ってケースだけ作り変えたいですね。

 

MobiFlight でコントロールパネル3号機の制作(5)

MobiFlight でフライトシミュレーター(MSFS2020)用コントロールパネル3号機の制作をしています。

MobiFlight の設定も完了してやっと完成しました、

 

1号機、2号機と異なり、表示が 16桁 x 2 行になり LCDのページ数が多くなったのでちょっと面倒で時間がかかってしまいました。(色々忘れてしまっていたって事も要因)

2号機と比べるとだいぶ小さいです。


使ってみた感想としては、これで特に問題ないという感じ。

私の環境では、サブディスプレイがあるのでその画面でAPの設定情報も見れるのでこの3号機ではそれぞれの値の設定変更をノブ操作でできれば十分ということですね。
LCD画面の2行目に、パーキング、ギア、スロットル位置が表示されるのはやはり便利。
ただ、常に表示されていなくてもよいとは思うので、他の情報に切り替えられるようにしても良いと思いました。

MobiFlight の設定は下記に置きました。


MobiFlight Modules の設定(デバイスの設定情報)は下記。


3号機の制作で悔やまれるのは、3Dプリンタでうまくパネルが作れなかったこと。
やっぱりもう少し良い3Dプリンタが欲しくなりました。

【忘備録】MobiFlight でLCDの画面切り替え設定

MobiFlight でフライトシミュレーター(MSFS2020)用コントロールパネル3号機の制作をしていますが、いざMobiFlight の設定をしようと思ったら、以前設定してから久しぶりなので忘れてるというのと、MobiFlight のバージョンアップがあって画面構成が変わったので、設定方法を確認するまで時間がかかってしまいました。

特にLCDの画面の切り替えに変数を使っていて複雑なので、ここに忘備録としてここに記しておきたいと思います。

まず、ツマミ(Encoder)を回すと単純にカウントアップ、カウントダウンする変数 PageNo を下記のように Input config に Encoder の Input 設定を追加します。

この PageNo はツマミを回していくと、どんどん値が大きくなって、100でも200 (逆に回していくと -100 でも -200 にでも)なってしまう変数です。

これを画面の番号(5画面なら 1~5)に変換する必要があります。
この設定は、Output config の方に、PageIndex として設定します。

下記のように Sim Variable タブの Variable Type で MobiFlight Variable を選択すると Output config のリストに追加して Descriptionに設定した PageIndex が 変数名となる変数が設定できます。

で、ここが分かりずらいところですが、上記の Variable Settings で指定するのは、この設定画面で取り扱いする変数の元となる変数($ に入る値)を指定します。
ここでは、 PageNo を元にして値を設定するので、PageNo を指定します。

やりたいことは、この PageNo を 1~5 のサイクリックするということなので、Modyfy タブで Modifier に下記の様に設定します。

先ほど 変数の元($)になる値に PageNo を指定したので、まず、 Add Modifier ボタンをクリックして、 Transfom を選択し、IEEERemainder($,5)+1 と設定します。
IEEERemainder($,5) は $(= PageeNo)を5で割った余りを返す関数なので、0~4 になります。これに 1 を加えて、1 ~ 5 になります。
もし、画面を 6 つにしたい場合は、IEEERemainder($,5)  を IEEERemainder($,6) にすればよいことになります。
と、説明しましたが、上記は PageNo が+の値の場合です。
ツマミをマイナス側に回していくと、上記の値は -4 ~ 0 になりますので、これを 1~5にするために、Add Modifier ボタンをクリックして、 Compare を選択し、
 If current Value < 1 then $+5 else $ 
と設定します。

これで、Output config のリストの Descriptionに設定した PageIndex に 1~ 5 の値が設定されます。

次に、LCDの画面を切り替える設定をします。

Output configs に LCD 1 ~ LCD 5 を追加し、それらの設定がそれぞれ PageIndex の有効になる設定をします。
Output config Wizerd  の Precondition で 下記の様に設定します。(最後に指定している数字を 1 ~ 5 で設定)


これでツマミを回すことで LCDの画面が切り替わるようになります。
LCDの表示は2つ以上設定しておかないと切替が確認できないので注意(一度表示すると消えない)

以上、忘備録。

 




MobiFlight で ゲームパッドを使う

「MobiFlight で ゲームパッドを使う」
タイトルだけ見ると何のことやら・・という感じですね。

基本的にはMobiFlight はこれまで私が作ってきたように Aruduino か Raspberry Pi Pico を使ってボタンやロータリーエンコーダーでフライトシミュレーターの操作可能としていますが、実は、MobiFlight では一般的なPC用の ゲームパット をフライトシミュレーターの操作デバイスとすることができます。(もちろん入力のみ)

なので、私が今作成している3号機ではボタンがないのですが、ゲームパッドのボタン操作も組み合わせて操作するとうことができます。
ボタンの操作だとMSFS標準のキーボード操作でもできますが、MobiFlight だと細かな機能の設定がでできます。

で、早速ゲームパッドを購入しました。
ボタン操作ができればよいので、極力小さいものということで探して、これを購入。

8BitDo Zero2 というもので、サイズはだいたい 7.5cm x 3.5cm と片手にすっぽり入る小ささです。しかもワイヤレス(Bluetooth)。
検索してみると、これをお絵かきソフトの左手デバイス(片手デバイス)として使っている人もいるようです。

これをWindowsゲームパッドとして接続し、MobiFlight を起動して(起動してからゲームパットを接続するとMobiFlightに認識されない)メニューの Extras ⇒ Settings
をクリックして Peripherals タブ を確認すると、「XINPUT 互換入力デバイス」というのが表示されるので、これをチェックします。

で、input Config Wizard の Module で上記で選択した「XINPUT 互換入力デバイス」を選択すればAruduinoやラズパイピコにボタンを接続したのと同じように、input config に設定を追加していくことができます。

8BitDo Zero2 はボタンは12しかないのに実際のボタンより多くリストされています。
これは多分、中身は上位機種と同じものだからですね。
有効なボタンを確認して設定する必要があります。
実際に操作してみて調べたら下記のようになっていました。

Button 1  :   B
Button 2  :   A
Button 3  :   Y
Button 4  :   X
Button 5  :   Left
Button 6  :   Right
Button 7  :   select
Button 8  :   start
※注:十字ボタンは アナログ X、Y軸
AxisX : 左ボタンON で 0、右ボタンON で 65535、OFFで 32767
AxisY : 上ボタンON で 0、下ボタンON で 65535、OFFで 32767


十字ボタンはアナログ動作になってるので使うのが難しいですね。なので実質MobiFlightで使えるのは8個です。

Botton1 に AP MASTER スイッチを割り当てる場合は下記の様にすればよです。


ちなみに、MobiFlight ではゲームパッド以外に MIDIコントローラー も対応しています。(メニューの Extras ⇒ Settings をクリックして Peripherals タブ の右側)
MIDIコントローラーとは、作曲ソフトにデータを効率的に打ち込みするための専用デバイスで、下記のようなものです。


ボタンだけでなく、スライダーやツマミもたくさんあるので、いろいろ割り当てできそうですね。 ちょっと使ってみたい・・





MobiFlight でコントロールパネル3号機の制作(4)

MobiFlight でフライトシミュレーター(MSFS2020)用コントロールパネル3号機の制作をしています。

今回制作するコントロールパネルは、LCDが小さく、ボタンも無しなのでUI(操作と表示)を考えてみます。

2号機の機能をベースに必要な情報を画面を切り替えて表示・変更できるように考えました。
LCDが2行しかないので、ALT、HDG などの値の設定を1行目で行い、2行目の表示は固定とします。画面変更は左のノブで行います。
なので、左のノブを回すとLCD画面の1行目だけが変更されるように見えます。

この操作を説明する絵を描くとこんな感じ。
(APのONなどはキーボードなどで操作する想定)

で、画面はとりあえす下記の5画面
周波数はNAV1のみとます。(NAV2やCOMが必要だったら画面を増やして追加)

4画面目は上の絵では G1000 を想定してますが、機種によって変更します。
MobiFlight の最新バージョン (10.1) ではMSFSで選択した機種によって設定ファイルが変更できるので機種に合わせていくつかバリエーションを作成しておくとよいですね。

さて、次はこれらを MobiFlight で設定していきます。