李易陸,陳洪波,蔣曉旭,李騰生,馮思浩
基于三軸加速度傳感器的人機(jī)交互智能手環(huán)
李易陸,陳洪波,蔣曉旭,李騰生,馮思浩
(桂林電子科技大學(xué)生命與環(huán)境科學(xué)學(xué)院,廣西桂林 541004)
針對人們對人體運(yùn)動狀態(tài)監(jiān)測的需求,設(shè)計了基于微機(jī)電系統(tǒng)(micro electro mechanical systems,簡稱MEMS)數(shù)字輸出加速度傳感器ADXL345與超低功耗單片機(jī)MSP430F169的計步手環(huán)和基于Android系統(tǒng)的手機(jī)應(yīng)用程序(APP)。該手環(huán)用傳感器ADXL345采集人體行走時的加速度信息,利用矢量求和算法實現(xiàn)計步功能,并估算行走過程中的熱量消耗;手環(huán)通過藍(lán)牙方式與Android手機(jī)通信,從而在手機(jī)上實現(xiàn)計步數(shù)據(jù)與卡路里消耗的顯示,并可在手機(jī)上對手環(huán)的DS1337時鐘芯片進(jìn)行鬧鐘設(shè)置。通過對2名男性和2名女性分別進(jìn)行60 s步行測試,測試結(jié)果表明,該系統(tǒng)運(yùn)行可靠,計步算法適應(yīng)性良好,具有體積小、功耗低、工作穩(wěn)定、計步準(zhǔn)確、人機(jī)交互友好等特點。
計步手環(huán);MSP430F169;ADXL345;Android
隨著生活水平的不斷提高,人們對健康的需求越來越多。作為實時監(jiān)測人體運(yùn)動過程中運(yùn)動狀態(tài)的裝置,計步器越來越受到歡迎[1]。早期機(jī)械式計步器的振動傳感器利用平衡錘的上下振動使一個觸點出現(xiàn)通或斷實現(xiàn)計步,這種計步器佩戴時須垂直于地面,計步精度受佩戴位置和方向的影響較大,現(xiàn)已趨于淘汰。MEMS技術(shù)的出現(xiàn)使計步器的原理和設(shè)計產(chǎn)生了巨大的變革,基于MEMS技術(shù)的加速度傳感器能實現(xiàn)3個軸向的加速度采集和輸出,配合軟件算法,電子計步器計步的精度較機(jī)械式計步器有很大提高,但仍存在操作繁瑣和信息不易呈現(xiàn)等缺陷。隨著智能手機(jī)的出現(xiàn),利用手機(jī)內(nèi)置的加速度傳感器,軟件開發(fā)人員可開發(fā)出功能豐富的計步軟件[2],但因手機(jī)體積較大不易于健身時攜帶,使計步軟件的使用受到局限。為此,設(shè)計并實現(xiàn)了一種基于Android智能手機(jī)APP的計步手環(huán),其可隨時隨地記錄運(yùn)動者的步行量、卡路里消耗[3]等信息,且信息的存儲、統(tǒng)計分析和信息再現(xiàn)可在智能手機(jī)上實現(xiàn)。
手環(huán)的硬件模塊主要由微處理器模塊MSP430F169、信息采集模塊ADXL345[4]、時鐘模塊DS1337、藍(lán)牙模塊CH-06和電源模塊組成。手環(huán)的硬件系統(tǒng)框圖如圖1所示。
圖1 手環(huán)硬件系統(tǒng)框圖Fig.1 Block diagram of bracelet hardware
1.1 微處理器模塊
微處理器模塊采用MSP430F169單片機(jī),其具有運(yùn)算速度快、功耗低、體積小等特點。MSP430系列單片機(jī)有5種低功耗模式[5],處于低功耗模式0 (LPM0)時,CPU停止工作,外圍模塊繼續(xù)工作, CPU仍可響應(yīng)串口中斷實現(xiàn)喚醒或執(zhí)行其他操作,當(dāng)加速度采樣未更新時,將單片機(jī)置于LPM0可降低系統(tǒng)功耗。MSP430F169具有USART0和USART1兩個串行通信模塊,只需配置相應(yīng)的寄存器,便可使這2個串行通信模塊在不同的通信協(xié)議下工作。本系統(tǒng)將USART0配置為串口通信與藍(lán)牙連接,將USART1配置為I2C模式,通過I2C總線與ADXL345傳感器、DS1337時鐘芯片進(jìn)行通信。
1.2 加速度信息采集模塊
三軸加速度傳感器選用ADI公司的基于MEMS技術(shù)的ADXL345,其內(nèi)置的模數(shù)轉(zhuǎn)換可將三軸加速度的數(shù)字信號通過I2C或SPI總線輸出,測量范圍可選±2gn、±4gn、±8gn、±16gn(gn為地球重力加速度,通常取9.8 m/s2),分辨率達(dá)13位(±16gn)。
1.3 時鐘模塊
時鐘模塊選用DS1337芯片,它是一種低功耗、采用BCD碼的實時時鐘日歷芯片,帶有2個可編程的鬧鐘,另有2個引腳可用于方波輸出或作為鬧鐘中斷引腳,支持I2C通信,可與ADXL345一起掛接在I2C總線上。
1.4 藍(lán)牙模塊
手環(huán)與智能手機(jī)間的通信采用藍(lán)牙方式。HC-06藍(lán)牙串口模塊用于將串口轉(zhuǎn)換為藍(lán)牙,從而取代串口線,其標(biāo)準(zhǔn)工作電壓為3.3 V,波特率可調(diào),本系統(tǒng)設(shè)為9600,以從機(jī)模式與手機(jī)進(jìn)行配對、通信。HC-06兼具低功耗的特點,配對過程中電流為30~ 40 m A,配對完畢無論通信與否均為8 m A。
1.5 電源模塊
用AMS1117-3.3穩(wěn)壓芯片輸出3.3 V電壓為整個系統(tǒng)供電,AMS1117-3.3的輸入電壓為4.75~ 12 V,選擇紐扣電池作為電源。
計步算法在單片機(jī)端實現(xiàn),軟件設(shè)計分為手環(huán)上的單片機(jī)端程序和Android端的APP程序。
2.1 計步算法設(shè)計
計步算法流程圖如圖2所示。人體行走時,類似手環(huán)等便攜設(shè)備的佩戴位置和方向是隨意的,因而僅憑三軸加速度傳感器的某一軸進(jìn)行分析是不可靠的,故本系統(tǒng)在采集三軸加速度信息之后,先進(jìn)行加速度合成,即矢量求和,再進(jìn)行步態(tài)分析[6-7]。三軸加速度矢量求和曲線如圖3所示。從圖3可看出,各加速度曲線并不規(guī)則,而經(jīng)矢量求和后的合成加速度曲線則能較好地反映人體行走時的加速度變化。
圖2 計步算法流程圖Fig.2 Flow chart of pedometer algorithm
圖3 三軸加速度矢量求和曲線Fig.3 Vector summation curve of triaxial acceleration
獲得合成加速度后,利用數(shù)字濾波器進(jìn)行濾波,可有效消除因抖動而使系統(tǒng)產(chǎn)生的誤判。用遞推平均濾波法和限幅濾波法對合成加速度曲線進(jìn)行濾波。在一次抖動測試中,數(shù)字濾波后的合成加速度曲線如圖4所示。從圖4可看出,經(jīng)過數(shù)字濾波后因偶然抖動引起的加速度突變已被消除,從而減少系統(tǒng)誤判。
將數(shù)字濾波后的結(jié)果進(jìn)行步態(tài)分析,判定一次有效計步的3個條件為:
1)曲線向下跨過動態(tài)閾值。動態(tài)閾值每1 s更新一次,取上1 s產(chǎn)生的最大值和最小值的平均值。
圖4 數(shù)字濾波后的合成加速度曲線Fig.4 Resultant acceleration curve after digital filtering
2)人體走路的頻率在0.5~5 Hz,即2次計步之間的時間間隔必須在0.2~2 s的時間窗口之內(nèi),否則無效。
3)人體走路產(chǎn)生的加速度變化會有一個波峰和波谷,其峰值必須大于預(yù)定值,本系統(tǒng)設(shè)為1.5 m/s2。
2.2 單片機(jī)端程序
單片機(jī)系統(tǒng)運(yùn)行流程圖如圖5所示。手機(jī)APP通過藍(lán)牙發(fā)送不同的控制字符至手環(huán),單片機(jī)響應(yīng)串口接收中斷并判斷接收寄存器中的內(nèi)容,執(zhí)行相應(yīng)的操作,從而實現(xiàn)對手環(huán)的控制。手環(huán)上除系統(tǒng)復(fù)位按鍵、鬧鐘振動停止按鍵外,其他所有操作均通過手機(jī)APP完成。
圖5 單片機(jī)系統(tǒng)運(yùn)行流程圖Fig.5 Operation flow chart of single chip micyoco system
2.3 Android手機(jī)端APP設(shè)計
Android手機(jī)端APP除了與手環(huán)交互外,主要承擔(dān)計步信息的存儲、分析及直觀呈現(xiàn)的任務(wù)。APP的主體由4個頁面組成的人機(jī)交互層、負(fù)責(zé)藍(lán)牙通信業(yè)務(wù)的后臺服務(wù)和用于存儲信息的數(shù)據(jù)庫3部分組成。圖6為Android手機(jī)端APP框架。
圖6 Android手機(jī)端APP框架Fig.6 Framework of Android APP
人機(jī)交互層的4個頁面以Fragment動態(tài)加載的方式加載于同一個Activity上,方便用戶在不同頁面之間快速切換。APP啟動時,首先對數(shù)據(jù)庫中的當(dāng)日計步信息進(jìn)行統(tǒng)計并顯示在主界面上,同時用一個自定義的進(jìn)度條提示用戶當(dāng)日計劃的完成情況,手環(huán)實物與APP主界面如圖7所示。APP主界面也是控制手環(huán)的主控界面,連接手環(huán)后,可控制手環(huán)開始計步、暫停計步、更新及顯示手環(huán)的記錄信息,并將這些信息存入數(shù)據(jù)庫;鬧鐘設(shè)置界面可對手環(huán)進(jìn)行鬧鐘設(shè)置;個人信息設(shè)置界面用于保存用戶信息,其中身高與體重將作為計算卡路里參數(shù)在開始計步時傳遞給手環(huán);在歷史記錄界面利用Android的圖表繪制引擎AchartEngine將數(shù)據(jù)庫中的每日信息通過柱狀圖的形式呈現(xiàn),以供用戶查看。負(fù)責(zé)藍(lán)牙業(yè)務(wù)的后臺服務(wù)主要通過發(fā)送和接收系統(tǒng)廣播的方式與相關(guān)頁面通信,其生命周期與前臺人機(jī)交互層同步。數(shù)據(jù)庫部分,在第一次打開數(shù)據(jù)庫時,將在庫中建立2個表,分別按天和按次記錄歷史數(shù)據(jù),除了在歷史記錄頁面用柱狀圖顯示外,還可切換到詳細(xì)信息模式,此時通過一個自定義的List View將這2個表中的信息以列表方式顯示。
圖7 手環(huán)實物與APP主界面Fig.7 Pedometer bracelet and APP main page
為了檢驗手環(huán)的計步精度,由2位男性和2位女性分別進(jìn)行60 s步行測試?,F(xiàn)實中,人們走路時有的習(xí)慣于讓手自然擺動,而有的則擺動幅度較小或不擺動(如手上拿著東西時),因此測試分為手?jǐn)[動、手不擺動2種模式。手環(huán)的計步測試結(jié)果如表1所示。從表1可看出,計步手環(huán)具有較高的計步準(zhǔn)確率。
表1 手環(huán)的計步測試結(jié)果Tab.1 Step-counting test results of bracelet
針對當(dāng)前人們對人機(jī)交互智能手環(huán)的需求,采用三軸加速度傳感器設(shè)計了一種計步算法,并運(yùn)用該算法在手環(huán)上實現(xiàn)了計步功能,驗證了算法的可行性及其準(zhǔn)確率。通過在Android系統(tǒng)上搭建應(yīng)用軟件,成功實現(xiàn)了對手環(huán)的控制,充分利用了手機(jī)APP功能拓展性好、人機(jī)交互方便、易于呈現(xiàn)及存儲信息等特點,免除了傳統(tǒng)計步器繁瑣的按鍵操作,結(jié)合手環(huán)的便攜性,可提高用戶體驗。測試結(jié)果表明,該手環(huán)運(yùn)行可靠,計步算法適應(yīng)性良好。
[1] 戴俊.電子計步器給您帶來健康[J].健康,1998(11): 24.
[2] 蘇亞光,吳亞峰,索依娜.Android平臺下傳感器技術(shù)開發(fā)計步器應(yīng)用[J].電腦編程技巧與維護(hù),2010(23):40-46.
[3] 楊慧亮,孫怡寧,李丹,等.基于Android手機(jī)平臺的人體能耗檢測系統(tǒng)的研究與開發(fā)[J].儀表技術(shù),2013(7): 13-16.
[4] 李興法,尹冠飛.數(shù)字式加速度傳感器ADXL345的原理及應(yīng)用[J].黑龍江科技信息,2010(36):2-14.
[5] 董文軍,汪仁煌.基于MSP430的極低功耗系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(6):18-20.
[6] 陳銀溢.基于CC2541和LIS3DSH的計步器設(shè)計[J].機(jī)械工程與自動化,2014(6):96-98.
[7] 韓文正,馮迪,李鵬,等.基于加速度傳感器LIS3DH的計步器設(shè)計[J].傳感器與微系統(tǒng),2012(11):97-99.
編輯:張所濱
Human-computer interaction intelligent bracelet based on triaxial acceleration sensor
Li Yilu,Chen Hongbo,Jiang Xiaoxu,Li Tengsheng,Feng Sihao
(School of Life and Environmental Sciences,Guilin University of Electronic Technology,Guilin 541004,China)
An intelligent pedometer bracelet is designed to meet the significant demand of body movement monitoring.The MSP430F169 is selected as the microcontroller,and the triaxial accelerometer ADXL345 is applied to collect the information on the body.The vector summation of triaxial acceleration is used to counter the step,and the calorie is estimated.HC-06 Bluetooth module is used to communicate with Android phones for achieving the information of pedometer and calorie.The alarm clock can be set by the DS1337 clock chip.2 males and 2 females are participated in one minute walking test,experimental results show that the system has the reliable performance and a strong adaptability.It has the advantages of portable type and low power consumption.
pedometer bracelet;MSP430F169;ADXL345;Android
TP271
A
1673-808X(2015)05-0412-04
2015-05-12
國家自然科學(xué)基金(81460273);廣西科學(xué)研究與技術(shù)開發(fā)計劃(桂科攻1348020-10);廣西自然科學(xué)基金(2013GXNSFA019325);廣西大學(xué)生創(chuàng)新創(chuàng)業(yè)計劃(201410595101,20141059102)
陳洪波(1972-),男,湖南茶陵人,教授,博士,研究方向為生物醫(yī)學(xué)電子。E-mail:hongbochen@163.com
李易陸,蔣曉旭,李騰生,等.基于三軸加速度傳感器的人機(jī)交互智能手環(huán)[J].桂林電子科技大學(xué)學(xué)報,2015,35(5):412-415.