6

編者注:本項目編譯自Instructables,原作者為jegatheesan.soundarapandian,轉載請注明。
你是個游戲迷嗎?用電腦玩游戲一定很爽吧,用手柄那就更爽了,尤其是當玩某些動作游戲得時候,手柄能讓游戲的體驗著實提升不少。現在,只要你有一部安卓手機,你就能擁有自己的游戲手柄了。那么該怎么做呢?

1)帶藍牙模組的Linkit One板;
2)安卓手機
3)安裝了游戲的電腦
4)Arduino藍牙遙控應用(Arduino Bluetooth RC Car)
配置在Linkit One的程序的工作內容很簡單,只需要將手機發出的藍牙信號處理之后傳輸到電腦的串行接口即可。

準備好程序Bluetooth_Gamer.ino之后,上傳即可。
對于此程序,需要說明的是Arduino Uno和Linkit One并不支持USB鍵盤庫。起初我計劃使用的是藍牙搭配USB鍵盤庫。但經過一到兩天的測試之后,我未能成功。如果你使用的是Arduino Leonardo,那就沒有關系,直接將鍵盤上對應的鍵定義到Arduino上即可。所以為了能讓此項目能夠在Linkit One上完美運行,我自己寫了一個Visual Basic小程序。
我自己寫的這個Visual Basic小程序的工作過程如下:

通過USB串口接收Linkit One傳送進來的信息;
使用MSCOMM控制接收到的數據;
使用計時器持續進行這樣的工作(如果你使用VB.net,那就不需要使用計時器);
找到安卓程序發送的數據;
找到上面對應的控制按鍵;
找到這些按鍵所對應的鍵盤按鍵;
通過在數據接收端使用條件語句,通過發送命令調用虛擬鍵盤按鍵執行任務。
然而麻煩又來了。我發現測試過程中,發送命令的執行非常緩慢。我用了2天時間來尋找原因并試圖解決,最后在Windows XP上工作良好,但在Windows 7上仍然很讓人捉急。之后我是怎么解決的呢?

難以置信,只需要在Windows 7中安裝一個PhraseExpress軟件,問題就迎刃而解了。原因我未能找到,如果有知道的讀者,不妨與我們分享一下。

雙擊exe文件運行;
如果你的電腦里面沒有MSComm32.ocx組件,那么運行會中斷并報錯。那就下載安裝即可,并將該組件放到Windows system32文件夾內;
在文本框中輸入Comm Port(通信接口)的數量;
點擊Play Game,然后對話框將自動縮小到任務欄。

打開電腦端的游戲;
打開VB程序;
打開手機上的遙控應用;

屏幕的左上角有一個紅色的閃燈,它顯示了微控制器是否連接;
在菜單中點擊連接,你可以看到可用的藍牙設備;
連接Linkit One;

連接完成之后,左上角的紅燈變成綠燈;
在VB程序中點擊開始游戲,VB程序會最小化并開始游戲;

使用手機上的虛擬按鍵控制游戲,傾斜手機即可加速;

玩厭了還可以在菜單中更換操作界面。
注意在每個游戲開始之前都需要在VB程序中進行設置Comm Port,不同的游戲是不一樣的。
下面是該系統工作時的視頻:
2015-2016賽季全球創客馬拉松深圳大學站已經開始接受報名啦!關注“硬創邦”(微信號:leiphone_bang),回復“深大”即可參與報名!而且,雷鋒網在未來三個月內選一個合適的時間,在北上深選擇一個地點,舉辦創馬“火星救援”專場!詳情可點擊此處了解。
此外還可加入全球創客馬拉松主群(群號:259592983),參與我們的互動討論~

雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。