最近發現了一個超簡單的cockpit制作教程(https://www.mobiflight.com/en/index.html),此項目為開源,軟件層面不需要自己寫一行代碼,所有都已經封裝好,硬件層面只要求中學級別的電路知識,進行電路連接。教程利用Arduino平臺,結合一個開源的軟件與游戲進行數據交換,從一個led(作為輸出),一個按鍵(作為輸入)開始,一步一步地介紹如何搭建,支持MSFS2020和xplane。我花了兩天時間,也搭了一個簡單的A320的FCU面板,如圖: 兩個數碼管模塊用來顯示空速,航向,高度及升降率,四個旋轉編碼器分別就是這些參數的輸入,還有一些按鍵是Autopilot, Autothrottle等行為指令,當然你也可以自己決定想加入什么指令。這個軟件支持MSFS2020上面的很多機型,尤其是為FBWa320和PMDG737提供了幾百個指令,幾乎真的可以擺脫鼠標操作了,就看你的硬件怎么樣布局,讓操作更舒服一些。下一步我打算畫個好看一點的pcb,增加多一點輸入選項。 不知道有沒人有興趣,我簡單說一下制作過程吧,希望可以拋磚引玉,看看有沒有人有更好的制作。 1.軟件準備:到官網(https://www.mobiflight.com/en/index.html)下載MobiFlight Connector軟件,目前最新版本是9.6. 硬件準備:Arduino Mega 2560,Arduino Mega Pro Mini,Arduino Uno,Mega系列pin口數量多,適合這種項目。按照官網描述,其他Arduino的系列都不支持。另外還要準備一些輕觸開關,數碼管模塊(例如基于MAX7219的),旋轉編碼器,LED,電阻等等。 當然還需要焊接工具,如果自己會畫PCB固然好,如果不會就先用洞洞板自己焊接。 2.Firmware安裝。連接Arduino與電腦,啟動MF Connector,軟件會將固件下載到Arduino中,這時候這個Arduino將變成一個專門用于游戲內數據與外部硬件交流的媒介。軟件界面如圖: 3.新建變量。點擊MobiFlight Modules,打開Settings窗口,這里會顯示系統所識別燒錄固件之后的Arduino。點擊Add device,這里可以選擇外部硬件的種類,例如LED,數碼管,按鍵,編碼器,電位器等等,給它們適當的命名,這些就是軟件使用的變量。之后upload config,將這些變量上載至Arduino,然后就可以點擊ok退出,返回主界面。 例如這里新建了一個LED變量,名為AP1 Status,給它映射一個Arduino上的pin口,一般板上都自帶一個測試LED,可以直接映射到此LED所連接的pin口(例如Mega 2560的pin13),用來顯示Autopilot1的狀態 4.新建輸入輸出行為。在主界面中,通過Output configs和Input configs這兩個標簽頁可以新建變量的行為。在Output configs中,首先在Description處輸入備注,點擊右邊的Edit,打開Config界面,在Sim Variable標簽頁中選擇SimConnect,然后在列表中選擇想要設置的機型和行為。之后在Display標簽頁中選擇輸出顯示的類型和變量,這樣就將行為與變量互相連接起來了。另外還可以在下面的Test current settings中測試映射是否成功建立。 接著上面的例子,新建一個通過LED顯示Autopilot1的激活狀態的行為,并且進行測試,如下圖: 點擊Test后,應該可以看到板上的LED亮起,如果是的話說明建立成功,可以點擊OK退出,否則就還需要檢查一下 5.啟動游戲進行測試。點擊主界面中的Run,軟件就會運行,啟動MSFS2020, 新建飛行,這時候激活Autopilot1, 理論上就應該看到板上的LED也會亮起,說明設置成功。 官網上還有很多的教程,包括按鍵,數碼管,編碼器等等,設置流程和上面介紹的基本相同,只是官網教程使用的是舊版本的軟件,在某些設置上可能有小出入。例如舊版本用的還是FSUIPC這個第三方插件,但在新版本中則使用MF Connector 自帶的WASM模塊,具體可見(https://github.com/MobiFlight/MobiFlight-Connector/wiki/MobiFlight-Connector-How-does-it-work) 我也只是簡單嘗試了一下這個軟件,了解不深,歡迎留言交流。 |