Arduino可以直接用來當作Xbox的控制器,而且電腦端不需要額外安裝軟體!
讓你的遊戲搖桿自動控制、按下按鈕,或是你可以自行製作特殊的外部裝置、塞車控制器,或是自動連發、巨集按鈕、自動練功打怪的外掛搖桿。
只要使用Xinput這個Library可以讓Arduino模擬Xbox搖桿,在這篇文章會教大家如何自己設定與製作。
不過這個功能僅限於Arduino Leonardo 等32u4晶片的開發板,常見的UNO是沒辦法支援的喔。
支援的開發板: Leonardo, Esplora, Zero, Due , MKR 系列
安裝XInput開發板
首先要安裝XInput開發板,請到這個網址https://github.com/dmadison/ArduinoXInput_AVR 點選 code>Download ZIP 下載
將下載後的檔案解壓縮,放在 C:\Program Files (x86)\Arduino\hardware\xinput\avr 其中 xinput\avr 這兩個資料夾請自己建立
重新啟動Arduino軟體,在開發板這邊看到Xinput AVR Boards就代表安裝完成
安裝Library
這個Library有收錄在Arduino內的程式庫管理員,打開Arduino的 草稿碼>匯入程式庫>管理程式庫,就可以打開程式庫管理員
在上方直接搜尋xinput,接著點選安裝,Library就安裝完成了
測試
接著可以先上傳範例檔案測試看看,選擇 檔案>範例>Xinput>Blink,這個程式碼可以讓搖桿每隔一秒按一次A鍵
上傳之前,請先選擇開發板,選擇XInput裡面的板子,我用的是Leonardo開發板,所以選擇Arduino Leonardo w/XInput,就可以上傳了
上傳成功後,理論上就可以在電腦的「藍牙與其他裝置」看到Xbox 360的手把了
注意!
上傳完成後,電腦會判斷Arduino開發板為Xbox手把,如果再次上傳程式碼就會出錯,因為電腦會找不到Arduino開發板。
這時候不用擔心,請在上傳的時候,顯示「上傳中…」的字樣時,立刻按下Arduino上的Reset按鈕,這樣就可以成功上傳了。
(原廠的Arduino板按一次可以Reset,副廠的需要連按兩下)
測試手把的網站
上傳玩程式碼之後,要確認手把是不是能正常運作,但總不可能每次都開著遊戲測試吧,這個方便的網站可以讓你測試每個按鈕,甚至類比搖桿的座標,在進行遊戲之前請先到此網站,確認你的裝置能否正常運作吧。 https://gamepad-tester.com/
重要程式碼說明
接下來就發揮創意,自行開發自己的搖桿吧,這個網頁裡面有各種Xbox按鍵的程式碼介紹與範例,從ABXY鍵的範例,類比搖桿、板機鍵的輸入範圍,甚至還有震動馬達以及手把上的LED燈,都可以透過程式碼讀取。 https://www.partsnotincluded.com/how-to-emulate-an-xbox-controller-with-arduino-xinput/
Comments