在本教程中,您將學習通過手臂檢測到的2通道肌肉信號(EMG)來控制筆記本電腦中的視頻游戲。代碼將3種手勢映射到特定的按鍵中來控制游戲,比如向左彎曲你的手會觸發(fā)“向左”按鍵,向右彎曲會觸發(fā)“向右”,伸展或彎曲你的手指會觸發(fā)“向上”。這些手勢為吸引人的游戲玩法提供了直觀的控制。
但在繼續(xù)之前,讓我們先簡單了解一下肌電圖(EMG):
什么是肌電圖(EMG)?
肌電圖是一種測量肌肉對神經(jīng)刺激的反應(yīng)或電活動的技術(shù)。我們可以利用這種電活動來檢測神經(jīng)肌肉異常,或者為一些瘋狂的現(xiàn)實問題創(chuàng)造解決方案,比如為截肢者制造假肢。
關(guān)于DIY神經(jīng)科學工具包Pro:
它就像一個盒子里的神經(jīng)科學實驗室,讓你通過記錄身體的各種生物電位信號(腦電圖、肌電圖、心電圖、腦電圖)來探索神經(jīng)科學的世界,并制作出令人驚嘆的HCI和BCI項目。
步驟1:在Arduino Uno上堆疊Muscle BioAmp Shield
將Muscle BioAmp Shield正確堆疊在Arduino Uno上。
步驟2:配置BioAmp EXG丸用于肌電/心電圖
BioAmp EXG Pill默認配置為記錄EEG或EOG,但如果您想記錄高質(zhì)量的ECG或EMG,則建議通過如圖所示的焊點進行配置。
注意:即使沒有焊點,BioAmp EXG藥丸也能夠記錄心電圖或肌電圖,但如果你配置它,信號會更準確。
步驟3:連接BioAmp EXG藥丸
通過3針STEMMA電纜將BioAmp EXG Pill連接到Muscle BioAmp Shield的A2端口,該電纜一端有JST PH 2.0mm連接器,另一端有3個母跳線。
步驟4:連接電極電纜
如上所示,將一根BioAmp電纜連接到BioAmp EXG Pill,另一根BioAmp電纜連接到Muscle BioAmp Shield,將電纜兩端插入各自的JST PH連接器中。
步驟5:皮膚準備
我們將創(chuàng)建一個雙通道肌電信號采集系統(tǒng),為此,我們將使用兩個傳感器來記錄你手臂上的肌電信號,通道1來自指伸肌,通道2來自肱橈肌。因此,相應(yīng)地準備皮膚。
將Nuprep皮膚準備凝膠涂抹在皮膚表面電極處,以去除死皮細胞并清潔皮膚上的污垢。徹底擦拭皮膚表面后,用酒精擦拭或濕擦拭清潔。
步驟6:電極放置
使用凝膠電極的步驟如下:
?將連接到BioAmp EXG藥丸的BioAmp電纜扣到凝膠電極上。
?剝?nèi)ル姌O上的塑料襯底。
?將IN+和IN-電纜放在手臂的肱橈肌上,REF(參考)放在肘關(guān)節(jié)的骨部。
?現(xiàn)在將連接到Muscle BioAmp Shield的BioAmp電纜扣到凝膠電極上。
?剝?nèi)ル姌O上的塑料襯底。
?將IN+和IN-電纜放在手臂的指伸肌上,REF(參考)放在肘關(guān)節(jié)的骨部。
步驟7:上傳代碼
使用USB電纜(A型到B型)將Arduino Uno連接到筆記本電腦。下載GitHub倉庫如下:
Muscle BioAmp Arduino固件:倒置實驗室/Muscle-BioAmp-Arduino固件
進入文件夾12_2CH_EMG_Game_Controller,在Arduino IDE中打開Arduino草圖。
從菜單欄進入tools,選擇board選項,然后選擇Arduino UNO。在同一菜單中選擇Arduino Uno連接的COM端口。斷開Arduino UNO板并重新打開菜單以找到正確的COM端口。消失的條目應(yīng)該是正確的COM端口?,F(xiàn)在,上傳代碼。
重要提示:為了獲得最佳信號,請確保您的筆記本電腦沒有連接到充電器,并與任何交流電器保持5米遠的距離。
步驟8:測試連接
轉(zhuǎn)到菜單欄,單擊“工具”,選擇“串行監(jiān)視器”,或者簡單地單擊右上角的圖標。此時,輸出值應(yīng)該顯示為0。
下面是每個輸出值代表的內(nèi)容:
0:沒有重要的活動,沒有觸發(fā)擊鍵。
1:左彎手勢,觸發(fā)“左”擊鍵。
2:右彎手勢,觸發(fā)“右”擊鍵。
3:手指彎曲手勢,觸發(fā)“上”鍵。
此外,3的值可以與1或2一起觸發(fā),同時執(zhí)行向左彎曲或向右彎曲手勢。
步驟9:運行Python腳本
打開Visual Studio Code,點擊File < Open folder打開文件夾12_2CH_EMG_Game_Controller
打開終端,確保路徑配置為requirements .txt文件所在的位置。
要安裝運行Python腳本所需的所有模塊,在終端中寫入以下命令:
運行Python腳本12_2CH_EMG_Game_Controller.py,在終端中輸入如下命令:
注意:Python腳本將自動檢測COM端口并在終端成功運行命令,但如果出現(xiàn)任何與COM端口相關(guān)的錯誤,那么您可以根據(jù)Arduino IDE中選擇的COM端口在第14行手動更改Python腳本中的COM端口。
步驟10:玩電子游戲
在終端中,您將看到Move Now提示符。向左或向右彎曲您的手將分別觸發(fā)左或右擊鍵。同樣,彎曲或伸展手指將觸發(fā)向上鍵,也可以在執(zhí)行左或右手勢時激活。
注意:后臺發(fā)生了什么?每當檢測到肌電圖信號時,它就會作為觸發(fā)器來模擬鍵盤上的左、右或上鍵。
步驟11:按鍵的配置
按照以下步驟根據(jù)您的需求更改擊鍵,并使用此項目創(chuàng)建令人驚嘆的應(yīng)用程序。
?通過定位代碼中按下鍵的行(例如鍵盤)來識別鍵映射。按(‘左’),鍵盤。按(‘右’),和鍵盤。按('up')以及相應(yīng)的鍵被釋放的位置。這些行決定了由手勢觸發(fā)的關(guān)鍵動作。
?通過用所需的擊鍵替換‘left’、‘right’或‘up’來修改鍵值。例如:
?將‘left’更改為‘a(chǎn)’以按下a鍵。
?將‘right’更改為‘d’以按d鍵。
?將‘up’改為‘w’來按w鍵。
?保存更改
步驟12:結(jié)論
這只是一個演示,向您展示這兩個傳感器(BioAmp EXG Pill和Muscle BioAmp Shield)如何一起使用,以創(chuàng)建一個雙通道EXG采集系統(tǒng)和玩游戲。在這個項目中,我們使用BioAmp EXG Pill來記錄肌電信號,但它也可以用來記錄其他生物電位信號,如ECG, EOG或EEG。
本文編譯自hackster.io





