王克權(quán) 楊宏光 苗永康 沈 杰 張 騰
(徐州工程學(xué)院,江蘇 徐州 221111)
隨著科技的進(jìn)步,人們的生活慢慢進(jìn)入科技娛樂(lè)化,一些科技含量高的穿戴式設(shè)備相繼出現(xiàn)。現(xiàn)代控制輸入設(shè)備都是由多種傳感器將信號(hào)攝入到設(shè)備中,傳感器傳遞的信號(hào)使用最多的是光電信號(hào)或者傳感器信號(hào)。在體感輸入設(shè)備中,大多數(shù)的都劃分為基于攝像頭圖像的或者是基于傳感器技術(shù)的。無(wú)線傳感技術(shù)在網(wǎng)絡(luò)中的作用,一般是進(jìn)行二維空間定位,而在三維空間方面技術(shù)也在逐漸成熟,相較于二維空間技術(shù)其數(shù)據(jù)量和復(fù)雜程度更高,同時(shí)信息量也比更大。所以當(dāng)前技術(shù)難點(diǎn)是要制造出高性能、低成本、高強(qiáng)度、高穩(wěn)定性的三維立體控制器。
根據(jù)已有的運(yùn)動(dòng)識(shí)別算法加上微處理器,合理運(yùn)用無(wú)線設(shè)備,設(shè)計(jì)了一種三維立體控制器。本三維立體控制器選用飛思卡爾的KL25Z芯片作為整機(jī)的控制單元,設(shè)計(jì)了底層硬件控制模塊,實(shí)現(xiàn)主控單元與MEMS 傳感器數(shù)據(jù)溝通傳輸。在PC 機(jī)上制定一套數(shù)據(jù)處理與上位機(jī)測(cè)試軟件,并且制定與下位機(jī)之間的通訊協(xié)議。使用C# 語(yǔ)言在上位機(jī)PC 軟件中可以實(shí)現(xiàn)3D 基本實(shí)物模擬,并且與實(shí)物進(jìn)行互動(dòng)模擬。
圖1 系統(tǒng)結(jié)構(gòu)框圖
下位機(jī)軟件設(shè)計(jì):
下位機(jī)軟件完成下位機(jī)微處理器的編程。編譯器可以選擇KEIL4、IAR 或者CW MCU v10.5。其主要完成的功能有:液晶驅(qū)動(dòng)界面或者顯示數(shù)據(jù);實(shí)現(xiàn)LSM330DLC 的數(shù)據(jù)功能驅(qū)動(dòng);TSI(電容觸摸技術(shù))的使用;使用QMX 操作系統(tǒng)等。
圖2 初始化流程圖
圖3 任務(wù)一、二流程圖
開(kāi)始上電后,下位機(jī)首先配置運(yùn)行時(shí)鐘,時(shí)鐘運(yùn)行為48M。然后初始化系統(tǒng)棧,數(shù)據(jù)等系統(tǒng)參數(shù)。新建三個(gè)系統(tǒng)任務(wù)。在任務(wù)中初始化TSI 模塊,液晶顯示模塊,傳感器LSM330DLC 模塊。初始化加速度和角速度初始值。初始化定時(shí)器模塊。進(jìn)入任務(wù)處理循環(huán)中,監(jiān)聽(tīng)所有消息信號(hào),并處理。
在任務(wù)循環(huán)中,系統(tǒng)需要處理,串口接收指令事件、發(fā)送事件,傳感器點(diǎn)擊事件,TSI 觸摸事件,IMU 姿態(tài)定時(shí)更新處理事件,和圖像顯示事件。
任務(wù)一:
讀取傳感器數(shù)值,在每4ms 執(zhí)行一次IMU 姿態(tài)解算,得到解算角度。將數(shù)據(jù)通過(guò)串口發(fā)送給上位機(jī)。
任務(wù)二:
實(shí)時(shí)監(jiān)測(cè)觸摸按鍵任務(wù),對(duì)觸摸按鍵事件進(jìn)行監(jiān)聽(tīng)并處理。
上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件采用C# 編譯器。主要完成的任務(wù)有:串口消息的初始化,接收和處理。數(shù)據(jù)的圖標(biāo)實(shí)時(shí)顯示和三維控件的顯示,攝像頭的采集數(shù)據(jù)處理。
軟件界面如下圖:
上位機(jī)軟件采用C#編譯器。主要完成的任務(wù)有:串口消息的初始化,接收和處理。數(shù)據(jù)的圖標(biāo)實(shí)時(shí)顯示和三維控件的顯示,攝像頭的采集數(shù)據(jù)處理。
圖4 主控界面
此界面上空白部分是用來(lái)顯示數(shù)據(jù)實(shí)時(shí)圖表,可以用來(lái)觀察下位機(jī)的數(shù)據(jù)參數(shù)。按鍵“實(shí)時(shí)顯示”則是開(kāi)啟顯示的開(kāi)關(guān)。顯示速度可以通過(guò)“顯示速度-”和“顯示速度+”來(lái)調(diào)節(jié)刷新數(shù)據(jù)的快和慢?!坝涗洈?shù)據(jù)開(kāi)”按鍵是是否將數(shù)據(jù)記錄到緩存中,用來(lái)區(qū)別刷新顯示和3D 控件演示使用。“清除數(shù)據(jù)”是清空數(shù)據(jù)緩存中的數(shù)據(jù),重新開(kāi)始記錄以后的數(shù)據(jù)。
圖5 3D 運(yùn)行界面
3D 窗口左上方幾個(gè)標(biāo)簽是數(shù)據(jù)實(shí)時(shí)顯示??瞻撞糠质擒浖?zhí)行界面。執(zhí)行時(shí),在屏幕中心空白處有一個(gè)模擬的3D空間顯示。運(yùn)行圖如圖5。
經(jīng)過(guò)軟硬件運(yùn)用調(diào)試,本設(shè)計(jì)基本實(shí)現(xiàn)了3D 顯示和三維立體控制。實(shí)現(xiàn)了將無(wú)線傳感控制器的運(yùn)動(dòng)信號(hào)轉(zhuǎn)化為通用的幾或更多個(gè)控制命令,可以制成通用控制器,應(yīng)用到三維鼠標(biāo)等產(chǎn)品上。
[1]李全江.LabVIEW 虛擬儀器數(shù)據(jù)采集與傳統(tǒng)通信測(cè)控應(yīng)用實(shí)戰(zhàn)[M].北京:人民郵電出版社,2010:100-134.
[2]吳帥.基于三維感知的無(wú)線多媒體傳感器網(wǎng)絡(luò)覆蓋增強(qiáng)機(jī)制研究[D].南京郵電大學(xué),2012:11-15.
[3]Lyshevski SE.Nano-and microelectromechanical systems:fundamentals of nanoand microengineering.[M]Boca Raton:CRC Press,2001:12-58.
[4]袁剛.六維加速度傳感器的原理、系統(tǒng)及特性研究[D].重慶大學(xué):2010:11-28.