6
編者注:本項目編譯自Instructables,原作者為jegatheesan.soundarapandian,轉(zhuǎn)載請注明。
你是個游戲迷嗎?用電腦玩游戲一定很爽吧,用手柄那就更爽了,尤其是當玩某些動作游戲得時候,手柄能讓游戲的體驗著實提升不少。現(xiàn)在,只要你有一部安卓手機,你就能擁有自己的游戲手柄了。那么該怎么做呢?
1)帶藍牙模組的Linkit One板;
2)安卓手機
3)安裝了游戲的電腦
4)Arduino藍牙遙控應用(Arduino Bluetooth RC Car)
配置在Linkit One的程序的工作內(nèi)容很簡單,只需要將手機發(fā)出的藍牙信號處理之后傳輸?shù)诫娔X的串行接口即可。
準備好程序Bluetooth_Gamer.ino之后,上傳即可。
對于此程序,需要說明的是Arduino Uno和Linkit One并不支持USB鍵盤庫。起初我計劃使用的是藍牙搭配USB鍵盤庫。但經(jīng)過一到兩天的測試之后,我未能成功。如果你使用的是Arduino Leonardo,那就沒有關(guān)系,直接將鍵盤上對應的鍵定義到Arduino上即可。所以為了能讓此項目能夠在Linkit One上完美運行,我自己寫了一個Visual Basic小程序。
我自己寫的這個Visual Basic小程序的工作過程如下:
通過USB串口接收Linkit One傳送進來的信息;
使用MSCOMM控制接收到的數(shù)據(jù);
使用計時器持續(xù)進行這樣的工作(如果你使用VB.net,那就不需要使用計時器);
找到安卓程序發(fā)送的數(shù)據(jù);
找到上面對應的控制按鍵;
找到這些按鍵所對應的鍵盤按鍵;
通過在數(shù)據(jù)接收端使用條件語句,通過發(fā)送命令調(diào)用虛擬鍵盤按鍵執(zhí)行任務。
然而麻煩又來了。我發(fā)現(xiàn)測試過程中,發(fā)送命令的執(zhí)行非常緩慢。我用了2天時間來尋找原因并試圖解決,最后在Windows XP上工作良好,但在Windows 7上仍然很讓人捉急。之后我是怎么解決的呢?
難以置信,只需要在Windows 7中安裝一個PhraseExpress軟件,問題就迎刃而解了。原因我未能找到,如果有知道的讀者,不妨與我們分享一下。
雙擊exe文件運行;
如果你的電腦里面沒有MSComm32.ocx組件,那么運行會中斷并報錯。那就下載安裝即可,并將該組件放到Windows system32文件夾內(nèi);
在文本框中輸入Comm Port(通信接口)的數(shù)量;
點擊Play Game,然后對話框?qū)⒆詣涌s小到任務欄。
打開電腦端的游戲;
打開VB程序;
打開手機上的遙控應用;
屏幕的左上角有一個紅色的閃燈,它顯示了微控制器是否連接;
在菜單中點擊連接,你可以看到可用的藍牙設備;
連接Linkit One;
連接完成之后,左上角的紅燈變成綠燈;
在VB程序中點擊開始游戲,VB程序會最小化并開始游戲;
使用手機上的虛擬按鍵控制游戲,傾斜手機即可加速;
玩厭了還可以在菜單中更換操作界面。
注意在每個游戲開始之前都需要在VB程序中進行設置Comm Port,不同的游戲是不一樣的。
下面是該系統(tǒng)工作時的視頻:
2015-2016賽季全球創(chuàng)客馬拉松深圳大學站已經(jīng)開始接受報名啦!關(guān)注“硬創(chuàng)邦”(微信號:leiphone_bang),回復“深大”即可參與報名!而且,雷鋒網(wǎng)在未來三個月內(nèi)選一個合適的時間,在北上深選擇一個地點,舉辦創(chuàng)馬“火星救援”專場!詳情可點擊此處了解。
此外還可加入全球創(chuàng)客馬拉松主群(群號:259592983),參與我們的互動討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。