Skip to content

以 Arduino Leonardo 或 Arduino Micro 來製作簡單的牙籤直升機總距杆,讓大家即使用 Xbox 控制器來《 Microsoft Flight Simulator (MSFS2020) 》駕駛直升機仍能有較好的操控。

License

Notifications You must be signed in to change notification settings

mickey9801/SimpleCollective

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleCollective DIY 牙籤總距杆

以 Arduino Leonardo 或 Arduino Micro 來製作簡單的牙籤直升機總距杆,讓大家即使用 Xbox 控制器來《 Microsoft Flight Simulator (MSFS2020) 》駕駛直升機仍能有較好的操控。

用 Arduino Leonardo 自製直升機總距杆,低成本就能提升 MSFS2020 的直升機駕駛體驗

(本說明文件內容版權屬 Plug Media Series Limited 所有,不得轉載)

下載 Airbus H135 直升機 Add-On

影片介紹

PCM Gadget Live 牙籤總距杆介紹

零件表

  • Arduino Leonardo 或 Arduino Micro 1 塊
  • 50k 或 100k Ohm 電位器(可變電阻) 1 個
  • 杜邦線(公-公) 3 條
  • 迷你麵包板 1 塊

開發軟件

電路圖

電路圖

製作說明

要令 Arduino Leonardo / Micro 變成 USB 遊戲控制器,需要由 MHeironimus 開發的 Arduino Joystick Library ,但這個函式庫沒有登錄到 Arduino 的官方 Library Manager ,所以大家要下載「 Source Code (zip) 」檔案,並將它匯入 Arduino IDE ,就能順利將程式編譯上載到 Arduino 開發板。撰文時 Arduino Joystick Library 的版本為 2.0.7 。

  1. 將 Arduino Leonardo / Micro 以 micro USB 線連接到電腦,開啟 Arduino IDE ,確認「 Tools > Board 」選擇了你所選用的開發板,並選擇正確連接埠;
  2. 以 Arduino IDE 開啟 Collective/Collective.ino 檔案
  3. 在 Arduino IDE 的主選單中選「 Sketch > Include Library > Add .ZIP Library 」,然後選擇下載回來的「 ArduinoJoystickLibrary-2.0.7.zip 」檔案將它匯入。
  4. 按工具列左上角的「 Verify 」鍵來檢查程式有沒有問題,或者直接按旁邊的「 Upload 」鍵將它上載到 Arduino Leonardo / Micro 。

調校操縱角度

完成編譯和上載後,基本上已可以在 MSFS2020 裡使用這支牙籤總距杆,不過由於電位器的旋轉角度約有 280º ,用起來會較不就手,縮減一下電位器的可用旋轉範圍會較好用(當然這會減低總距杆的精度,但旋轉 60º 基本上仍是夠用的)。

  1. 修改程式第 10 行,設定為 ture 以輸出電位器讀數,然後將程式編譯上載到開發板。

    bool printVals = true; // 輸出電位器讀數
  2. 在連接著 Arduino Leonardo / Micro 時,開啟 Arduino IDE 的「 Tools > Serial Monitor 」,將電位器扭到你覺得適合的起始角度(總距杆最低的位置),抄下 Serial Monitor 左邊欄位的讀數(本例中是 336 )。

  3. 接著扭到結束角度(總距杆最高的位置),抄下 Serial Monitor 左邊欄位的讀數(本例中是 500 )。如果你發覺起始角度和結束角度讀數大小倒轉了的話,只要將電位器的 5V 和 GND 線對調再測量便可以解決。

  4. 修改程式第 7 行,以抄下的讀數取代 0 和 1023 兩個數值。

    int axisLimits0[] = {336, 500}; // 數值僅供參考,請自行測試讀取。
  5. 將程式編譯上載到開發板,測試一下效果。

  6. 滿意操縱角度的話就可以將第 10 行設回 false 再編譯上傳到開發板就完成。

將牙籤總距杆加到 MSFS2020

大家只要登入 MSFS2020 ,按「 Options > Controls 」就可以發現多了「 Arduino Leonardo / Micro 」這個控制器,接著就要將完成的牙籤總距杆綁定到「 Throttle Axis (油閥軸)」即可使用。

  1. 在左邊「 Search 」欄位輸入 throttle axis,並在中間欄點擊中間的灰格;
  2. 點擊介面最頂一欄,然後扭動牙籤總距杆, MSFS2020 就會自動讀取到牙籤總距杆是「 Joystick Slider X 」。按「 VALIDATE 」確認設定;
  3. 設定任意名字來建立新控制器 Profile ,按 OK 完成設定;
  4. 可以扭動一下牙籤總距杆看看 Throttle Axis 的白條有沒有移動。如果發覺方向相反的話,可以勾選左邊的「 REVERSE AXIS 」倒轉操控。測試完成後按「 F11 」即可儲存設定。

About

以 Arduino Leonardo 或 Arduino Micro 來製作簡單的牙籤直升機總距杆,讓大家即使用 Xbox 控制器來《 Microsoft Flight Simulator (MSFS2020) 》駕駛直升機仍能有較好的操控。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages