陳崇輝,鄧 筠
(華南理工大學廣州學院 電氣工程學院,廣州 510800)
教師在課堂多媒體教學中,普遍使用微軟公司PowerPoint軟件設(shè)計的演示文稿PPT課件[1],典型的場景是教師手握激光筆,頭戴無線話筒,可在教室內(nèi)隨意走動完成教學工作。目前存在的主要問題有:教師必須手握激光筆,阻礙了教師手勢講解等方面的靈活演示[2];無線話筒的音量大小只能在講臺上手動調(diào)節(jié),使用不夠方便;教師用話筒講話過程中可能會出現(xiàn)話筒嘯叫(突然發(fā)出高音)的現(xiàn)象,實在令人難以忍受,并嚴重影響教學氣氛。
本文應用慣性感測技術(shù)設(shè)計了一種體感手環(huán)教學控制系統(tǒng),慣性感測主要是以陀螺儀、加速度計等慣性傳感器來感測使用者肢體動作的物理參數(shù),從而求得使用者在空間中的各種動作[3-4]。只要使用者手腕佩戴體感手環(huán),通過特定的手勢動作就可以進行計算機PowerPoint軟件遙控翻頁,就可以控制無線話筒的音量大小,并有效自動抑制話筒嘯叫對現(xiàn)場的影響。
本系統(tǒng)主要由體感手環(huán)和教學接收裝置組成,結(jié)合現(xiàn)有的無線話筒和接收,功放和音箱,計算機和投影等,成為一套完整的體感手環(huán)教學控制系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖1所示。教師佩戴體感手環(huán),系統(tǒng)對教師特定手勢動作的識別,即可通過手勢動作遙控幻燈片翻頁,從而能夠讓教師在課堂上真正把雙手解放出來,用于教學的手勢輔助講解和演示,給予師生最大程度的溝通和交流,提高教與學的效果[1];同時,教師佩戴無線話筒,功放把無線話筒接收到的聲音信號放大并驅(qū)動音箱進行廣播,教師可以通過特定的手勢動作對話筒音量大小進行控制,當教師講話過程中出現(xiàn)話筒嘯叫現(xiàn)象時,系統(tǒng)會自動對話筒聲音直流成分幅度進行實時提取,從而控制話筒音量迅速減小直至靜音,保證課堂的教學氛圍。
圖1 系統(tǒng)結(jié)構(gòu)框圖
體感手環(huán)的設(shè)計需要符合普通人的操作習慣,以佩戴在使用者的右手手腕上部為宜,要求體感手環(huán)至少能夠識別操作者4種手勢動作,識別的成功率在92%以上,誤動作率在4%以內(nèi);佩戴體感手環(huán)的使用者在在教室內(nèi)隨意走動仍能實現(xiàn)無線數(shù)據(jù)的傳輸,從而實現(xiàn)對PowerPoint幻燈片向上或向下翻頁以及對無線話筒的音量大小調(diào)節(jié)的無線操作功能。
體感手環(huán)由慣性傳感器、微控制器和無線數(shù)據(jù)模塊組成。微控制器從慣性傳感器獲取手勢動作數(shù)據(jù),算法處理后,對手勢動作進行定義,并提取手勢特征,實現(xiàn)對特定手勢動作的識別,然后通過無線數(shù)據(jù)模塊把手勢動作對應的特征代碼傳輸給教學接收裝置。手環(huán)總體如圖2所示。
圖2 手環(huán)總體框圖
在體感手環(huán)中,手勢動作由慣性傳感器MPU6050采集數(shù)據(jù)。慣性傳感器原理如圖3所示,通過I2C控制總線2個引腳與微控制器通信[5-6]。如果微控制器內(nèi)部該引腳已有上拉電阻,則電阻R2和R3可以省略。圖3中芯片第12引腳INT是中斷功能,如搖晃、自由落體等均可觸發(fā)產(chǎn)生中斷信號,在本設(shè)計中沒用到中斷,所以該引腳懸空;芯片第9引腳AD0通過電阻R1接地,設(shè)置該引腳為低電平,此時器件地址設(shè)置為十六進制數(shù)0x68。微控制器通過總線讀取芯片的器件地址數(shù)據(jù)是否為0x68,可作為判斷微控制器與MPU6050之間I2C通信是否正確的依據(jù)。硬件電路連接正確,提供合適的工作電源3.3 V,MPU6050上電默認時鐘是內(nèi)部8 MHz 振蕩器,微控制器與MPU6050之間底層驅(qū)動通信的時序也正確的前提下,微控制器首先對MPU6050的寄存器進行軟件初始化配置,主要有電源管理寄存器1、陀螺儀配置寄存器、加速度計配置寄存器、采樣頻率分頻器寄存器、中斷使能寄存器以及電源管理寄存器2等,接下來就是讀取原始數(shù)據(jù),從而獲取手勢動作數(shù)據(jù)做好準備。
圖3 傳感器原理圖
教師授課過程中可能會出現(xiàn)各種各樣的手勢動作,只有特定的、被定義了的手勢動作才會用于系統(tǒng)的控制,而其余未被定義的手勢動作均認為是伴隨講解過程中產(chǎn)生的噪聲,這個噪聲會隨著不同的使用者而不同。
手勢動作定義基本原則是設(shè)備易于識別手勢;對于使用者來說,容易學習和記憶,操作簡單,便于重復。本文定義了如表1所示的4種手勢動作。以使用者右手手腕佩戴手環(huán)為例,當手掌面垂直于地面,使用者用力向左或向右一揮,此時對應的兩種手勢動作定義為幻燈片PPT的上一頁或下一頁操作;同理,當手掌背向地面,用力向上一揮對應的手勢動作定義為無線話筒的音量增加,當手掌心向地面,用力向下一揮對應的手勢動作定義為音量減小。這4種特定的手勢動作是典型的代表上下左右的操作,實現(xiàn)系統(tǒng)的功能。
手勢特征提取是針對一個完整、有效的手勢動作,主要有手勢起終點、手勢長度、手勢能量以及手勢波峰數(shù)等特征[7]。在進行有效手勢信號截取前,必須要準確檢測手勢起點和終點,通過連續(xù)采樣多個數(shù)據(jù)來降低環(huán)境噪聲和用戶手勢抖動引起的冗余數(shù)據(jù),從而實時截取有效手勢動作的信號數(shù)據(jù)。從手勢動作起點開始到手勢結(jié)束的時間差值,定義為手勢長度,一般手勢動作持續(xù)的時間長度為零點幾秒,否則很可能是無效手勢動作。一次有效手勢動作在運動過程中的劇烈程度稱為手勢能量,手勢能量在不同頻段內(nèi)的分布隨時間變化持續(xù)呈現(xiàn)不均衡現(xiàn)象[8],但手勢能量明顯過大或者過小,則很可能是誤操作手勢動作。手勢波峰數(shù)是各軸的波峰數(shù)之和,所以重點是計算每一個坐標軸的波峰數(shù),累計波峰的個數(shù)即可得到該軸的波峰數(shù),進而計算得到加速度波峰數(shù)和角速度波峰數(shù),一次有效手勢動作的波峰數(shù)不為0[9],否則很可能是誤動作手勢而不予處理。
通過微控制器獲取慣性傳感器MPU6050的數(shù)據(jù),MPU6050里面集成了三軸陀螺儀和三軸加速度計,其中加速度計的三軸分量ACC_X、ACC_Y和ACC_Z均為16位有符號整數(shù),根據(jù)3個軸向上的加速度是正值或負值,判斷手環(huán)里面的傳感器器件是沿座標軸負向或正向運動,從而識別佩戴的手環(huán)是向左或向右揮動的方向;得到的數(shù)據(jù)經(jīng)過姿態(tài)解算和卡爾曼濾波算法等信號處理,去掉未被定義的手勢動作噪聲數(shù)據(jù),再根據(jù)手勢動作特征提取,判斷是否是已定義的有效手勢動作,如果是則查找表格得到特定手勢動作對應的數(shù)據(jù),如果不是則丟棄該組數(shù)據(jù)不予處理。每一種已定義的手勢動作均使用一個特定的數(shù)字代碼表示,并通過無線數(shù)據(jù)模塊發(fā)射出去,等待教學接收裝置接收。體感手環(huán)流程如圖4所示。
圖4 體感手環(huán)流程
教學接收裝置的設(shè)計需要具有和計算機方便連接的USB端口,具有和功放輸入兼容的音頻端口,其作用有兩個方面:第一方面負責接收體感手環(huán)發(fā)送過來的控制數(shù)據(jù),通過USB鍵盤接口芯片與計算機通信,從而控制PowerPoint軟件翻頁功能;第二方面負責處理無線話筒音頻信號,通過數(shù)字音量控制電路對話筒信號進行大小處理,從而實現(xiàn)話筒音量大小的控制功能。教學接收裝置以微控制器作為核心,調(diào)動A/D模數(shù)轉(zhuǎn)換模塊、數(shù)字音量控制電路、無線數(shù)據(jù)模塊以及USB鍵盤接口芯片協(xié)調(diào)工作。接收裝置總體如圖5所示。微控制器芯片采用IAP15W4K58S4單片機,其內(nèi)部集成有4組全雙工異步串行通信口(UART)[10],可方便與藍牙無線數(shù)據(jù)模塊交換信息,接收數(shù)據(jù),實現(xiàn)體感手環(huán)與教學接收裝置之間數(shù)據(jù)的無線傳輸;當單片機接收到控制PowerPoint軟件翻頁指令時,單片機輸出控制信號給USB鍵盤接口芯片,從而把控制指令通過USB接口傳輸給計算機,實現(xiàn)翻頁功能;當單片機接收到控制話筒音量大小指令時,單片機與數(shù)字音量控制電路串行數(shù)據(jù)通信,通過對相應寄存器的操作,從而控制話筒音頻的衰減量,實現(xiàn)話筒音量大小控制功能;單片機內(nèi)部也集成10位精度的A/D模數(shù)轉(zhuǎn)換模塊,可將連續(xù)變化的話筒音頻信號模擬電壓轉(zhuǎn)化成相應的數(shù)字信號,并進入單片機處理。當對著無線話筒講話過程中出現(xiàn)話筒嘯叫的現(xiàn)象時,A/D模數(shù)轉(zhuǎn)換模塊得到的數(shù)字量會顯著增大,并超過預設(shè)的閾值,此時單片機控制數(shù)字音量控制電路,使話筒音量迅速減小直至靜音,待嘯叫消失后,自動恢復話筒的音量,最大程度減少話筒嘯叫對教學課堂的影響。
圖5 接收裝置總體框圖
無線數(shù)據(jù)模塊采用藍牙數(shù)據(jù)透傳模塊實現(xiàn),教學接收裝置和體感手環(huán)中分別設(shè)計有藍牙模塊,能滿足在教室內(nèi)隨意走動并可靠實現(xiàn)無線數(shù)據(jù)傳輸,硬件電路方面相類似,藍牙數(shù)據(jù)模塊電路圖如圖6所示;軟件流程方面由于體感手環(huán)藍牙模塊工作于從模式,所以教學接收裝置藍牙模塊應工作于主模式方能正常建立連接,實現(xiàn)數(shù)據(jù)傳輸。單片機IAP15W4K58S4芯片內(nèi)部集成有全雙工異步串行通信口,與藍牙模塊連接實現(xiàn)體感手環(huán)手勢數(shù)據(jù)實時傳輸?shù)浇虒W接收裝置軟件處理。藍牙模塊工作狀態(tài)通過圖6中LED的顯示狀態(tài)傳遞給用戶,當LED以0.8秒一亮一滅均勻慢速閃爍時,表示等待體感手環(huán)配對;當主從兩個藍牙模塊之間成功建立連接后,LED將會常亮,表示可以傳輸數(shù)據(jù)。
圖6 藍牙數(shù)據(jù)模塊電路圖
數(shù)字音量控制電路原理如圖7所示,采用PT2257雙通道音量控制芯片,該芯片通過I2C控制總線技術(shù)與微控制器通信,在串行時鐘SCL為高電平期間,串行數(shù)據(jù)SDA高低電平的變化定義為總線的啟動或者停止信號;當SCL為低電平期間,SDA高低電平的變化作為數(shù)據(jù)的傳送。PT2257每次傳送8位數(shù)據(jù),包含音量衰減量、聲道選擇以及靜音控制位,傳送時高位數(shù)據(jù)在前,低位數(shù)據(jù)在后,傳送完成后必須緊跟一個應答位[11]。本系統(tǒng)中通過設(shè)置音量衰減量就可以實現(xiàn)對無線話筒音量的控制,在出現(xiàn)話筒嘯叫現(xiàn)象時,微控制器AD0檢測到話筒聲音直流成分幅度明顯瞬時增大,此時設(shè)置靜音控制位即可靜音話筒,消除話筒的嘯叫。
圖7 數(shù)字音量控制電路原理圖
由于無線話筒音頻信號不分左右聲道,不具備立體聲功能,所以左聲道輸入LIN和右聲道輸入RIN并聯(lián)在一起作為信號輸入端,經(jīng)過PT2257處理后的話筒音頻輸出信號分開左右聲道分別輸入功放進行放大,從而完成無線話筒音量的控制。
當微控制器通過無線數(shù)據(jù)模塊接收到佩戴體感手環(huán)的使用者的手向左或向右一揮對應的數(shù)字代碼00或01時,表示使用者需要對接收裝置進行控制了。此時微控制器輸出控制信號通過USB鍵盤接口芯片控制計算機PowerPoint軟件翻頁。教學接收裝置流程如圖8所示。同理,當手環(huán)向上或向下一揮發(fā)出對應的數(shù)字代碼02或03時,表示使用者正在進行無線話筒音量增大或減小的遠程控制操作。
圖8 教學接收裝置流程
A/D轉(zhuǎn)換器能夠?qū)崟r采樣無線話筒的音頻信號的變化,并輸入單片機處理。先進行程序判斷濾波算法,剔除掉因隨機干擾、誤檢測或系統(tǒng)不穩(wěn)定等偶然因素引起的尖脈沖干擾信號;再利用滑動平均濾波算法,抑制數(shù)據(jù)中可能出現(xiàn)的周期性干擾成分,如無線電波引起的高頻干擾[12]。
程序判斷濾波算法是通過實踐經(jīng)驗估算,得到相鄰采樣數(shù)據(jù)允許的最大偏差值DT(取值為某個數(shù)字)[12]。對當前話筒聲音A/D轉(zhuǎn)換值進行判斷:如果當前A/D值與之前的值相差的絕對值大于某個閾值DT,則當前值無效,并保留之前值;否則就認為是有效數(shù)據(jù),當前A/D值就成為話筒聲音最新數(shù)據(jù),如式(1)所示:
(1)
在沒有外部額外的各種干擾的前提下,通過滑動平均濾波算法,把連續(xù)N個對話筒聲音的采樣值(N是一個具體的數(shù)字)當作一個具有N個元素的數(shù)組,每次A/D轉(zhuǎn)換完成就刷新最后一個數(shù)據(jù),并剔除數(shù)組原來最前的一個數(shù)據(jù),然后對數(shù)組中的N個數(shù)據(jù)進行算術(shù)平均運算,獲得新的話筒聲音的濾波結(jié)果。式(2)為算術(shù)平均計算公式:
(2)
此計算結(jié)果數(shù)據(jù)用來閾值甄別。當對著無線話筒講話過程中出現(xiàn)話筒嘯叫的現(xiàn)象時,系統(tǒng)自動對聲音頻率曲線上的峰點對應的頻率成分進行提取,一旦檢測到數(shù)據(jù)達到或超過閾值信號,單片機控制數(shù)字音量控制模塊,使話筒音量迅速減小直至靜音,待嘯叫消失后,自動恢復話筒的音量,最大程度減少話筒嘯叫對教學課堂的影響。消除話筒嘯叫流程如圖9所示。
圖9 消除話筒嘯叫流程
為了縮小手環(huán)體積,元器件均使用貼片封裝,經(jīng)過軟件Altium Designer進行電路原理圖和PCB設(shè)計、發(fā)單外面公司打樣、元器件焊接與程序調(diào)試等環(huán)節(jié),對照電路原理圖全面檢查各芯片、單元電路、模塊電路是否均正確連接,是否都能夠正常工作,特別是傳感器MPU6050、藍牙模塊、鋰電池充電芯片等。經(jīng)過多次參數(shù)調(diào)整與修正,直至系統(tǒng)能夠正常穩(wěn)定地工作。
測試人員佩戴體感手環(huán),以一個100頁面的PPT幻燈片作為實驗測試,向左、向右、向上和向下一揮的手勢動作測試各100次,成功率在92%以上,誤動作率在4%以內(nèi),實驗具有一定的隨機性,測試數(shù)據(jù)如表2所示。
表2 測試數(shù)據(jù)
從表2測試數(shù)據(jù)可以看出,體感手環(huán)可有較高成功率識別手勢動作,教學接收裝置能夠可靠接收數(shù)據(jù)并控制PowerPoint軟件向上或向下翻頁、控制話筒音量的大小;當出現(xiàn)話筒嘯叫現(xiàn)象時,能夠及時有效地抑制刺耳的噪聲,保持良好的教學氛圍,提升課堂效果。
本文針對課堂教學中通過體感手環(huán)遙控PPT幻燈片翻頁進行了設(shè)計,提出體感手環(huán)教學控制系統(tǒng)的系統(tǒng)結(jié)構(gòu),重點對手勢動作的特征展開研究,并對系統(tǒng)硬件電路原理及軟件流程進行設(shè)計與調(diào)試,特別是論述了話筒嘯叫的消除方法。實驗證明體感手環(huán)教學控制系統(tǒng)在課堂教學中可以有效地識別教師遙控幻燈片翻頁的手勢動作,能夠?qū)崟r緩解話筒嘯叫引起的干擾,把教師的雙手回歸到教學手勢的講解和演示,促進教學效果的提升。