前陣子在某線上拍賣平台買了一支超便宜的有線超任USB搖桿,結果玩不到一個禮拜按鈕就被按壞了,而且發現還沒家裡那台老舊超級任天堂搖桿順手,所以就開始打起老舊超任搖桿的主意,想說因該可以用 ESP32作個超任搖桿轉接器,將超任搖桿轉到電腦上使用,二話不說立馬Google,發現幾個可以使用的函數庫與說明運作原理的網站,在理解後搞出了以下這個東西:
這裝置我稱他叫超任搖桿藍牙轉接器,可以讓我們將超任搖桿透過這個裝置以藍牙方式跟PC、macOS、 Linux和Android(不支援IOS)連接並當作控制器使用,以下先來看段完成後的測試影片,再來分享超任搖桿藍牙轉接器(後面統一簡稱轉接器)是如何製作的。
測試影片
準備材料
接線圖
請參考下圖將超任搖桿接上ESP32的GPIO腳位
安裝韌體
請至以下Github下載筆者整合好的轉接器韌體
下載完畢解壓縮並開啟專案SNESPlug/SNESPlug.ino,接下來需安裝
ESP32-BLE-Gamepad函數庫,選工具>管理程式庫,搜尋esp32 ble gamepad就可以找到。。
開發板請選ESP32 Wrover Module,並設定連接電腦的ESP32序列埠。。
一切就緒就可以按上傳按鈕將韌體寫入ESP32內。
使用電腦連接轉接器
在Windows10內選設定 →裝置 →新增藍牙或其他裝置→選藍牙
等出現ESP32 BLE Gamepad表示已經搜尋到我們自製的超任搖桿轉接器,選取以完成連線
再來要測試轉接器是否可以運作正常,先將超任搖桿接上轉接器,並開啟瀏覽器執行以下網址,這是一個可在網頁內測試搖桿的頁面:
隨意按超任搖桿上的按鈕,如果發現畫面上的數值有變化,那就表示我們轉接器運作正常,接下來就可以開啟你想要玩的遊戲或模擬器進入設定搖桿後就可以開始玩遊戲囉。
Android平版或手機也可以輕易地找到轉接器,一樣只要連接上開啟想要玩的APP軟體設定一下搖桿相關按鈕配置就可以了。
後記
建議看的懂韌體程式碼的讀者可自行加入如連射或搖桿腳本功能,讓遊戲玩法變的更有趣,這次的超任搖桿藍牙轉接器教學也到了尾聲,我們下次見。
參考資料
ESP32-BLE-Gamepad
Arduino Gamepads
【更新日誌】
新增Youtube影片教學說明: