基于ARM9平臺的電子指南針的設(shè)計

4.3.2 界面實現(xiàn)
信號和槽機制是Qt的核心機制,是一種高級接口,應(yīng)用于對象之間的通信,是Qt區(qū)別于其他工具包的重要地方。電子指南針的界面設(shè)計先把所需控件布局好,然后通過信號與槽函數(shù),使布局好的界面能夠運行起來。
本設(shè)計中信號函數(shù)所對應(yīng)的按鈕控件QPushButtom類分為開始測試和結(jié)束測試兩個發(fā)射信號的按鈕。當點擊開始測試的時候,信號相應(yīng)的槽函數(shù)所對應(yīng)的控件包括溫度顯示和方位顯示的控件QLCDNumber類型,時間顯示槽函數(shù)對應(yīng)的控件QtimeEdit類型以及方位指示槽函數(shù)所對應(yīng)的控件QWTCompass類型都開始顯示數(shù)據(jù)。當點擊結(jié)束測試這個信號函數(shù)的控件時,電子指南針就不顯示數(shù)據(jù)。
5 軟件抗干擾設(shè)計
軟件抗干擾主要是消除硬磁干擾和軟磁干擾的影響。軟磁干擾算法較為復(fù)雜,且效果有限,一般實驗時盡量讓指南針不受外界磁場干擾。本文主要介紹消除硬磁干擾的補償方法。二維指南針在沒有誤差的情況下,x軸和y軸輸出的對應(yīng)關(guān)系可以表示為極坐標系下的一個圓。當有硬磁干擾時,此圓偏離圓的中心。校準方法為:將指南針在水平面上選擇一周,記錄下x,y方向磁場強度的最大值xmax,ymax和最小值 xmin,ymin,校準偏移量為:
xoffset=(xmax+xmin)/2
yoffset=(ymax+ymin)/2
每次測量方位時,都應(yīng)將x,y方向的磁場強度大小減去相應(yīng)的校準偏移量即可校準硬磁干擾。
6 實驗結(jié)果與數(shù)據(jù)分析
編譯好ARM版本的應(yīng)用程序后,可通過網(wǎng)絡(luò)文件系統(tǒng)(NFS)、USB等方式拷貝到mini2440開發(fā)板上執(zhí)行,程序運行效果如圖9所示。

6.1 實驗結(jié)果
采用補償校準后,對電子指南針進行了數(shù)據(jù)測量。先將標準羅盤水平放置,按每30°的間隔劃分13個點。然后將指南針分別對準0°的點,依次測量13個點的數(shù)據(jù),如表1所示。

6.2 實驗數(shù)據(jù)分析
本文設(shè)計的是二維電子指南針,從實驗結(jié)果可知指南針精確度為±2°。影響精度的原因主要是存在系統(tǒng)誤差和環(huán)境磁場的影響,但能夠滿足精確度要求不是特別高的場合。
7 結(jié)語
本文主要是實現(xiàn)了一款基于ARM9平臺的二維電子指南針,采用Qt界面設(shè)計顯示溫度,方位,時間等信息,對Linux Qt界面設(shè)計進行了相關(guān)的探討,分析了指南針精度受影響的情況,給出了一種軟件補償算法以提高精度。本文設(shè)計的電子指南針可作為其他的Linux產(chǎn)品的接口,具有一定的市場應(yīng)用價值。
評論