1. 程式人生 > 資訊 >如何通過微控制器用鍵盤玩 Switch 遊戲?

如何通過微控制器用鍵盤玩 Switch 遊戲?

相信有很多朋友在入手 Switch 遊戲機之前都是在玩電腦遊戲,那麼肯定有一部分玩家更習慣使用鍵盤而不是手柄操作。那麼這時如何使用鍵盤玩 Switch 遊戲呢?

首先,如果想直接將鍵盤連線在 Switch 遊戲機或主機底座上是行不通的,那樣直接連線的話鍵盤只能用於打字,不能用於遊戲的操作。因為此時鍵盤和手柄按鍵之間缺乏對映關係,你在鍵盤上所按下的按鍵不能對應到手柄的按鍵上。

而補全這種對映關係就能解決問題了,比如像市面上出售的“鍵鼠轉換器”或者內建“鍵鼠轉換器”功能的特殊鍵盤。但這兩種產品價格上比較貴,而且功能上也很侷限。

在這個局面下,微控制器就成了一個很好的解決方案。微控制器價格便宜,而且可以通過程式設計擴充套件很多功能。

第一步 * 選擇合適的微控制器開發板

微控制器又稱微控制器 (MCU),是將微控制器主機 (CPU、記憶體和 I / O 介面) 整合在一小塊矽片上的微型機。具有三個優勢 (整合度高、可靠性高、價效比高)。

微控制器開發板是一種非常適合微控制器學習者以及微控制器工程師使用的一種硬體,在開發板上除了微控制器晶片以外,一般還會配有各種 I / O 介面、感測器、點陣顯示屏等“外部硬體資源”。

而選擇一款合適的微控制器開發板,一是要看微控制器晶片的各種技術指標,二是要看開發板配備的“外部硬體資源”。

微控制器的技術指標一般可以重點看以下四個方面:

  • 字長: 例如 8 位、16 位、32 位

  • 記憶體容量:例如 8K、64K、16M

  • 運算速度(時鐘頻率): 例如 6MHz、12MHz、24MHz

  • 記憶體存取週期:例如:50nS 、70nS

“而外部硬體資源”則是看開發板提供的介面以及感測器等,比如在一些比較複雜的專案中會用到較多的輸入輸出引腳,那這種時候就需要選擇引腳較多的微控制器開發板。

另外在實際的微控制器專案中,成本是一個非常重要的考量因素。在微控制器選用時往往會優先選擇效能勉強夠用,但價效比很高的型號。

最終在本次專案中選用了 Teensy++ 2.0 微控制器開發板。

第二步 * 連線微控制器開發板

對於一款陌生的微控制器開發板,最快了解它的方法就是去官網查相關資料,這些資料包括但不限於引腳定義、各引腳所能承受的最大電壓。

其實也可以從論壇獲取相關型號微控制器開發板的使用經驗,不過論壇上的資訊有些會存在一些錯誤,需要注意甄別。

以上為 Teensy++ 2.0 微控制器開發板的引腳定義圖,我們可以按照圖上的引腳定義將微控制器開發板與下載器等裝置連線起來。

▲連線結果如上圖所示

第三步 * 自己程式設計或者尋找可用的開原始碼

微控制器晶片是需要程式和程式碼來實現功能的,所以我們需要自己開發或者尋找可用的開原始碼。

如果不打算自己開發全部內容,準備使用開源程式的話。建議在一開始選擇微控制器開發板時就考慮相關問題,同樣的程式在不同型號的微控制器上可能效果會不同。所以這種情況在最初選擇微控制器時最好直接選擇原開發者所採用的微控制器型號或是相容型號,以免未來除錯過程中出現麻煩。

最終在本次專案中選用了“伊機控”這款開源程式,以此為基礎進行相應開發。

第四步 * 學習相應的程式設計語法

如果以開源程式為基礎進行開發,則需要仔細閱讀開源程式的說明文件。這些程式中會詳盡說明開源程式所構築的特殊語法、函式等內容。

“伊機控”的“簡單語法”可以分成 6 個部分,分別為:註釋、輸出、按鍵、搖桿、等待、迴圈

熟悉程式設計的朋友可能注意到了,即使僅依靠這六種語法就已經能構築出一些自動化操作的指令了。

而在進階部分還有例如:常量、變數、條件分支、邏輯運算、棧操作等更為複雜的語法功能。

在一些遊戲中會有一些重複性的操作,比如刷道具、刷精靈。在人工刷道具的時候,其實操作也就是反反覆覆那幾種。而使用了微控制器後,這種步驟則可以通過微控制器自動進行了。

第五步 * 安裝驅動並燒錄程式

微控制器的下載器其實是一個很古老的電子產品了,因此在很多電腦上是需要手動安裝驅動的。很多新手明明連線沒問題,但插上就是沒反應,原因也在於此。沒有驅動的話,下載器是不能正常工作的。

而對於微控制器的燒錄一般需要用到微控制器廠商提供的程式,Teensy++ 2.0 所用的就是 teensy.exe 進行燒錄。

在完成燒錄後我們就可以測試我們自己的程式碼功能了。