





摘要:本文針對中小學生近視率不斷上升的問題,設計和實現(xiàn)了一種以MSP430單片機為控制核心的智能防近視眼鏡。該設備利用夏普GP2YOE03紅外測距傳感器、以BH1750芯片為核心設計的光強傳感器以及以MPU6050芯片為核心設計的六軸傳感器采集用戶的用眼情況,利用MSP430單片機,模擬出人眼的疲勞情況,在人眼過度疲勞時提醒用戶休息,防治近視。本文網(wǎng)絡版地址:http://www.eepw.com.cn/article/271653.htm
關鍵詞:MSP430;夏普G2YOE03;BH1750;MPU6050;藍牙
DOI:10.3969/j.issn.1005-5517.2015.3.018
榮獲首屆“華創(chuàng)杯”創(chuàng)業(yè)大賽全國三等獎以及西安電子科技大學“星火杯”大學生課外學術科技競賽特等獎。
引言
目前青少年近視的本質原因是長時間看近處的東西,眼睛長期得不到休息,長期產(chǎn)生視覺疲勞,最終病變成近視。本文開發(fā)了一種智能防近視眼鏡,可以隨時監(jiān)控用戶的用眼情況,防止用眼疲勞,從而防治近視;同時還專門為中小學生設計了一個閱讀/寫字姿勢校正功能,通過內置的距離傳感器和六軸傳感器感知用戶的閱讀/寫字姿勢,在姿勢不正確時發(fā)出提醒以督促用戶保持正確的閱讀/寫字姿勢,防治近視。提醒的方式是通過系統(tǒng)內置的貼片LED呼吸燈閃爍以及微型振子震動提醒;系統(tǒng)內置的存儲芯片可以存儲用戶佩戴十小時的用眼數(shù)據(jù),這些數(shù)據(jù)可以通過藍牙導入至為此設計開發(fā)的安卓手機客戶端,繪制用眼曲線,以方便家長進行監(jiān)控。
本系統(tǒng)設計的另外一個亮點在于對于系統(tǒng)功耗的有效控制。一方面,本文設計的智能防近視眼鏡設計了基于MSP430的I/O接口設計了電容觸控傳感器,放置在眼鏡鏡腿的位置,當用戶佩戴眼鏡時系統(tǒng)自動喚醒,摘下眼鏡后系統(tǒng)自動進入休眠模式,傳感器和無線模塊不再工作,這種方式省去了電源開關的設計,提高了使用的便利性,還在一定程度降低了系統(tǒng)的功耗,增加系統(tǒng)待機和使用時間。另一方面,系統(tǒng)設計的六軸傳感器除了在矯正坐姿功能中檢測用戶閱讀/寫字姿態(tài)外,系統(tǒng)還在單片機內設計了一套智能算法識別智能防近視眼鏡的使用場景,在用戶運動、飲食、與人交談時依照算法降低距離與光強傳感器測量的頻率,比如一分鐘采集一次:運動傳感器檢測到用戶在靜坐或者專心做某事時適當增加上述傳感器測量的頻率,比如每隔5秒采集一次,以保證在這段時間內采集到數(shù)據(jù)的準確度,這樣的設計可以動態(tài)分配系統(tǒng)的功耗,在不降低測量精度的前提下降低功耗。
1 系統(tǒng)總體結構設計
為了實現(xiàn)防治近視的功能,必須要獲取到用戶眼睛的疲勞情況,然而直接測量人眼的疲勞值十分困難,所以本文采用了另一種技術方案:通過眼鏡上的多種傳感器采集人眼工作時的各種數(shù)據(jù),如距離、光強、姿態(tài)等,然后利用單片機內置的智能算法模擬出入眼的疲勞情況。當檢測到用戶的眼睛疲勞值較高時,系統(tǒng)通過內置的貼片LED呼吸燈閃爍以及微型振子震動提醒用戶望遠休息。系統(tǒng)內置的存儲芯片可以存儲用戶佩戴十小時的用眼數(shù)據(jù),這些數(shù)據(jù)可以通過藍牙導入至為此設計開發(fā)的安卓手機客戶端,繪制用眼曲線,以方便家長進行監(jiān)控。目前所做的系統(tǒng)原型如圖1和圖2。
具體的實現(xiàn)方案:如圖3,距離傳感器GP2YOE03、光強傳感芯片BH1750和六軸傳感芯片MPU6050將采集到的距離、光強、加速度和角速度這些非電學信息轉化為模擬信號并進一步轉化為數(shù)字信號,通過IIC通訊方式輸出:這些傳感器掛載在主控芯片MSP430G2553的IIC總線上,單片機定時激活相應傳感器并通過IIC通訊方式獲取相關信息,此后關閉傳感器等待下一次的喚醒;單片機獲取到相關信息后,通過內置的智能算法模擬人眼的疲勞值變化曲線;微型振子和貼片LED燈通過相應的驅動電路和單片機相連,當軟件模擬的人眼疲勞值達到一定程度時單片機激活振子發(fā)出震動并呼吸閃爍LED燈,提醒用戶望遠休息:電容感應式觸控傳感器同樣與單片機的I/O引腳相連接,用戶頭部相當于一個大面積的導體,當用戶佩戴本文所設計的智能眼鏡時,頭部和電容感應式觸控傳感器構成分布電容,頭部與系統(tǒng)地之間也構成分布電容,總的效果是增加了上述傳感器對系統(tǒng)地之間的電容量,單片機通過測量電容量的變化來判斷用戶是否佩戴,當用戶佩戴上述智能眼鏡時,單片機從睡眠模式激活,并開始按時喚醒傳感器和通知模塊:以MPU605芯片為核心設計的六軸傳感器采集到的加速度和角速度數(shù)據(jù)不僅用于判斷和矯正用戶的閱讀/寫字姿態(tài),還用于識別用戶的使用場景,根據(jù)用戶頭部六軸幅度的不同,單片機通過內置智能算法智能分配傳感器喚醒的間隔時間,達到降低系統(tǒng)功耗的目的;藍牙模塊掛載在單片機的串口總線上,當用戶需要同步用眼數(shù)據(jù)時,單片機通過藍牙模塊將相關數(shù)據(jù)傳輸至安卓手機客戶端并通過可視化方式呈現(xiàn):單片機引腳上還設計了一個按鍵用于切換視力跟蹤功能和坐姿矯正功能。
2 系統(tǒng)硬件設計
2.1 主控芯片選擇
由于本產(chǎn)品定位為一款便攜式的可穿戴式設備,所以功耗必須要低,體積必須要小。由此,我們選擇了TI公司出品的MSP430系列單片機,型號為G2553。
MSP430G2553具有超低的電源電壓范圍(1.8V-3.6V),同時具有3種超低功耗模式和5種節(jié)能模式,工作頻率最高可達16MHz的工作頻率,內置兩個16位定時器,一個通用串行通信接口,內置A/D轉換器,并具有支持觸摸感測的I/O引腳。非常適用于這種低功耗、小體積的應用。
2.2 紅外測距傳感器選擇
本設備采用了夏普公司型號為GP2YOE03的紅外測距模塊。
GP2YOE03是一個用于距離測量的傳感器,由CMOS圖像傳感器和IR-LED組合而成。由于采用了三角剖分的檢測方法,檢測結果不易受物體的反射率、環(huán)境溫度、運行時間等影響。此模塊還擁有數(shù)字和模擬兩種輸出形式。
2.3 光強傳感器選擇
BH1750是一款數(shù)字輸出的環(huán)境光強傳感器,它具有如下特性:(1)12C總線接口;(2)大范圍、高分辨率;(3)低電流;(4)50/60Hz光噪聲抑制;(5)對光源的依賴性小;(6)測量偏差小;
2.4 藍牙模塊選擇
HC-05嵌入式藍牙串口通訊模塊(以下簡稱模塊)具有兩種工作模式:命令響應模式和自動連接模式,在自動連接工作模式下模塊又可分為主(Master)、從( Slave)和回環(huán)(Loopback)三種工作角色。當模塊處于自動連接模式時,將自動根據(jù)事先設定的方式連接并進行數(shù)據(jù)傳輸:當模塊處于命令響應模式時能執(zhí)行相關的AT命令,用戶可向模塊發(fā)送各種AT指令,為模塊設定控制參數(shù)或發(fā)布控制命令。通過控制模塊外部引腳(PI011)的輸入電平,可以實現(xiàn)模塊工作狀態(tài)的動態(tài)轉換。
3 系統(tǒng)軟件設計
3.1 綜述
由于本文所開發(fā)的智能防近視眼鏡涉及到的電路模塊較多,其系統(tǒng)輸入設備包括紅外測距傳感器、光強傳感器、六軸動作傳感器以及一個按鍵,系統(tǒng)輸出設備包括微型振子、LED燈以及無線藍牙模塊,并且每個電路模塊激活和休眠的時間和條件都不相同,這給嵌入式軟件的編程帶來了很大的困難。鑒于此,本文所開發(fā)的智能防近視眼鏡的嵌入式軟件在結構上體現(xiàn)了“分層”的思想,在系統(tǒng)架構上采用了“狀態(tài)機+前后臺”的技術方案。
3.2系統(tǒng)軟件結構
出于本文所開發(fā)的智能防近視眼鏡軟件日后的版本升級維護以及移植性方面的考慮,本文所開發(fā)的智能防近視眼鏡的嵌入式軟件采用“分層”的技術方案。系統(tǒng)軟件結構見圖7,總體分為四層,即硬件驅動層、硬件緩沖層、操作系統(tǒng)層和上層軟件層。硬件驅動層即單片機得以操縱硬件的驅動軟件:硬件緩沖層用于存放單片機硬件模塊中獲取的信息,是系統(tǒng)硬件和軟件的“隔離層”:考慮到成本和功耗的限制,本文采用的單片機無法搭載嵌入式操作系統(tǒng),所以本項目采用“狀態(tài)機+前后臺”的系架構滿足系統(tǒng)多任務的實際需求;最后,上層軟件層用于編寫直接面向用戶的程序。
3.3 系統(tǒng)軟件架構
如上文所述,本文所開發(fā)的智能防近視眼鏡由于單片機性能的限制,使用狀態(tài)機+前后臺”的系統(tǒng)架構代替操作系統(tǒng),系統(tǒng)軟件架構框圖見圖8。
軟件總體分為三個狀態(tài),即“跟蹤模式”、“矯正模式”和“數(shù)據(jù)同步模式”。在“跟蹤模式”中,系統(tǒng)完成對用戶眼睛工作環(huán)境數(shù)據(jù)的采集和對用戶眼疲勞度的評估這兩個任務即可,這兩個任務下系統(tǒng)需要完成的具體任務見圖8;在“矯正模式”中,系統(tǒng)完成對用戶坐姿的檢測和對用戶眼疲勞度的評估,這兩個任務下系統(tǒng)需要完成的具體的軟件任務見圖8;在“同步模式”中,系統(tǒng)僅需完成將系統(tǒng)數(shù)據(jù)緩沖區(qū)的疲勞值數(shù)據(jù)發(fā)送到藍牙串口。
每一個狀態(tài)中,又有各自的前后臺程序。前臺程序是對軟件實時性要求較高的程序,在系統(tǒng)中斷中被觸發(fā)運行,包括傳感器數(shù)據(jù)采集記錄程序、按鍵鍵值采集程序和LED/振子觸發(fā)條件判斷程序,其執(zhí)行時間很短;后臺程序是對軟件實時性要求較低的程序,在系統(tǒng)主循環(huán)中運行,包括模擬人眼疲勞值算法、姿態(tài)解算算法等,其運行時間較長且難以確定。前后臺程序相配合的技術手段有利于避免CPU阻塞,保證了系統(tǒng)的穩(wěn)定性。
系統(tǒng)程序“狀態(tài)”之間轉換關系見圖9,當用戶短按按鍵時,切換“跟蹤模式”和“矯正模式”,當用戶長按按鍵時,進行數(shù)據(jù)同步。
3.4 模擬人眼疲勞算法
在本文所開發(fā)的智能防近視眼鏡系統(tǒng)中,系統(tǒng)可以直接采集到的影響人眼疲勞值的參數(shù)包括:當前用戶的用眼時間、視線距離、明暗變化以及閱讀/寫字姿態(tài),然而實際情況是人眼疲勞值受到當前時刻之前這些參數(shù)所有變化累積的影響。在模擬人眼疲勞值的算法中,上述四個參數(shù)都有各自的權值,其中,用眼時間、視線距離所占權值最大,其影響真實人眼疲勞值的程度也最深:光線變化所占權值次之,閱讀/寫字姿態(tài)由于受到實際環(huán)境影響較大,所占權值最小。
下面就視線距離這一參數(shù)做詳細說明,其他參數(shù)可以此類推。
首先定義視線距離參數(shù)的權值得分S,其總分為35分,即視線距離因素占35%的比例權值。之后,占獲取當前的視線距離參數(shù),以此減去標準參考距離(33.3厘米),獲得的差值記為d,那么:
3.5 動態(tài)分配傳感器測量頻率算法
為降低系統(tǒng)功耗所采用的動態(tài)分配傳感器測量頻率算法原理如下:首先建立一個長度為5的環(huán)形數(shù)據(jù)緩沖區(qū),單片機定時器每秒鐘產(chǎn)生一次定時中斷,在中斷內喚醒六軸傳感器讀取相關數(shù)據(jù)并暫時關閉傳感器。然后,計算三軸加速度的平方和,并將此平方和存入上述環(huán)形數(shù)據(jù)緩沖區(qū)內,當緩沖區(qū)數(shù)據(jù)存滿時,對緩沖區(qū)內的5個數(shù)據(jù)進行加權相加運算,以此分配下一次距離傳感器和光強傳感器喚醒的時間。在此之后再有新的數(shù)據(jù)被記錄時,優(yōu)先放棄掉環(huán)形數(shù)據(jù)緩沖區(qū)內先被記錄的數(shù)據(jù)。由于此算法涉及到浮點數(shù)乘除運算,運算量相對較大,所以將其放在后臺系統(tǒng)循環(huán)中運行,運行結束后可休眠CPU。
4 性能分析
本系統(tǒng)的主要性能指標有:待機時間、測距精度、便攜性、六輔檢測精度。
從實際測試的情況來看,由于本系統(tǒng)采取了一系列方式來降低功耗,有效待機時間可以達到一天以上。
測距精度方面,由于所選紅外傳感器的優(yōu)秀特性,在大多數(shù)環(huán)境下測距精度優(yōu)于1%。
便攜性方面,本系統(tǒng)所選器件均在保證系統(tǒng)功能完善的情況下選擇了體積最小的器件,盡可能地縮小了整體體積,但考慮到作品最終要與眼鏡鏡框一體,現(xiàn)在體積還是有點大,后期可考慮使用低功耗的BLE來取代單片機及藍牙4.0系統(tǒng),到時可進一步縮小體積,增強便攜性。
六輔檢測精度方面,根據(jù)量角器等工具對傳感器檢測結果進行記錄并分析,并結合本系統(tǒng)應用場景進行考慮,傳感器測量時引入的誤差基本可以忽略。