郭佳潤,宮雨夢,劉易坤,陳洪坤,曲昊宇,胡志棟
(1.東北林業大學,黑龍江 哈爾濱 150040;2.沈陽農業大學,遼寧 沈陽 110866)
近年來,因森林等地手機基站覆蓋不全面,森林作業者及愛好登山、野營等戶外運動的人們常常在野外不慎迷路,手機沒有信號,無法和外界進行聯系。此問題已引起社會各界的廣泛關注,確保人們在此情況下找到正確的道路顯得尤為重要。
針對這種情況,研究者們展開了相關研究,并取得了不錯的成果。程勝等[1]研究出了GPS定位和GSM通信等技術的防走失系統,陳海浪等[2]研究出了基于51單片機的GPS定位系統,潘狀狀等[3]研究出了以STC89C52單片機為核心的計步系統,劉鵬娟等[4]研究出了通過ADXL345加速度計采集走路信息的計步系統。
我國如今基于各種單片機技術研制了有著GPS定位技術的手表等工具,利用GPS不需要手機信號這一特點進行實時定位,并快速顯示出來,快速查清使用者所在位置。也有基于各種單片機的實現精準計數,實時監測熱量、脂肪消耗量的計步器,其可以實現計步和清零的功能,顯示運動的步數和總步數。使用者進行戶外活動時,需要盡量減輕自己所攜帶物品的數量與重量。將兩種功能結合,設計一款防迷路的戶外背包,在背包上同時增添GPS定位裝置和計步裝置,實時記錄和顯示此時背包的位置,且計步裝置可以顯示出迷路者的步數、里程、消耗熱量等,可以讓使用者同時得知自己的位置、所走的距離與消耗的能量。而這種形式的背包可以在戶外有很多應用,在野外有著更大優勢。
此款產品除具有基本戶外背包的功能外,主要功能的實現由兩片單片機組成,顯示屏和按鍵部分置于背包外側,而電路板部分嵌于背包內夾層并有拉鏈可供更換拆裝電池。左側為GPS定位單片機,方形開關為電源健,旁邊圓形按鍵為切換鍵,在速度、衛星數、日期和經緯度、時間、海拔高度兩部分之間進行自由切換。右側為計步器單片機,方形按鈕為電源開關,旁邊的圓形按鍵為步數清零鍵,僅可以清空步數,其旁為總清零鍵,可以清零步數、熱量及里程。其旁的按鍵可以設置步長,步長和步數相乘算出里程,并在屏幕上顯示(見圖1)。

圖1 背包正視圖
該系統由兩塊單片機以及SERF GS1100 GPS接收模塊、LCD1602液晶顯示器、ADXL345加速度計構成。
GPS定位單片機有GPS衛星定位功能,使用者在手機沒信號的情況下也可以迅速顯示出經度、緯度、海拔高度,并附有速度、時間、日期、衛星數等信息,同時備有3塊電池的拆裝裝置,可隨時更換電池,延長使用時間。為了更準確地測量所走過的距離,增添了計步單片機,其具有計步功能,并根據設置計算出總里程。此外,為了使用者更明確自己的能量消耗和滿足其日常健身的需要,計步單片機還增添了消耗的熱量。
定位單片機以STC89C52為中央處理器,并用GPS信息接收模塊采集衛星的信息,對其進行編譯,發送給單片機,并在LCD1602液晶顯示器上顯示,使用戶清楚自己的位置[5]。
計步單片機同樣以STC89C52為中央處理器,利用加速度傳感器模塊測量得到加速度并計算出里程,傳輸到單片機中,進行處理得到熱量,最后在LCD1602液晶顯示器上顯示出來[6],可以隨時知道自己所走的距離與消耗的熱量,按鍵模塊可以隨時清零步數與里程,以便記錄所走的距離得到消耗的熱量。
2.2.1 GPS信息接收模塊
此款設計中的GPS信息接收模塊采用的是SERF GS1100 GPS接收模塊,該模塊通過采集衛星的位置、衛星和信息接收模塊的距離等信息[7],并且利用這些信息列出方程式,從而解出用戶當前的位置。該模塊與天線一起密封在塑料殼中,具有防水功能,使得整個裝置更為穩定安全。此模塊具有12通道并行接收能力,在沒有SA干擾時,平均誤差僅為10 m。工作電壓為5 V左右,電流僅為60 mA,將其與STC89C52單片機相連,功耗低,整個裝置續航能力較強。
2.2.2 控制芯片模塊
控制芯片模塊采用STC89C52,它是一個低電壓、低功耗、高性能的微型單片機,其數據可以保存10年,與MCS-51指令系統兼容,內部結構復雜。單芯片上擁有靈巧的8位MCU,功能強大,有40個引腳,32個輸入/輸出端口。其中所包含的Flash存儲器可反復擦寫,從而降低成本。由于其具有工作簡單、性價比高等優點,單片機越來越廣泛地應用于各種家用電器、醫療設備、智能設備中。
2.2.3 液晶顯示模塊
此款背包設計采用LCD1602液晶顯示器,其采用標準的16腳接口,可以顯示16×2個字符,顯示內容豐富。利用切換鍵可以在速度、衛星數、日期和經緯度、時間、海拔高度兩部分之間進行自由切換。該液晶顯示器具有體積小、功耗低、超薄輕巧等特點,因此越來越廣泛地嵌于各類產品中。此外,還配置LED背光,使顯示屏更清晰。
軟件設計主要根據系統設計原理,明確系統運行邏輯,再利用KEIL進行編程。GPS系統的軟件設計包括按鍵掃描程序、GPS數據接收程序、UTC時間日期轉換程序、LCD1602顯示程序、控制開關程序。程序流程圖見圖2。

圖2 程序流程圖
2.3.1 加速度傳感器模塊
此款設計中的加速度傳感器模塊采用的是ADXL345加速度計,它是一種小巧、低功耗且高分辨率的三軸MEMS加速度計,通過其上的傳感器測出使用者移動的加速度,從而計算出距離,并通過A/D轉換傳輸給核心中央處理器。其可用電壓為3.3 V或5 V,完全可由幾節電池提供所需要的電壓,其小巧輕便、低功耗的特點在戶外背包上可以減輕重量,節省空間,有很大的優勢。
2.3.2 控制芯片模塊
計步器的核心控制部分仍采用STC89C52單片機,它是整個系統運行的控制核心,具有存儲接收距離等信息功能,負責執行相關開關控制、計數清零的指令,以及與其他模塊的信息交流。由于戶外計步背包所需,其不僅具有以上的存儲、控制等基本功能,還具有低功耗,以及在輸入步長體重后,邏輯運算穩定且數據處理較為快速的特點[6]。
2.3.3 液晶顯示模塊
顯示模塊依舊采用LCD1602液晶顯示器,同樣利用切換鍵可以在設置輸入步長和體重后,得到步數、總里程、消耗的熱量等信息[8]。LCD1602可以顯示兩行數值,清晰地看到輸入的數據,以確保正確得到所需信息。
2.3.4 按鍵模塊
按鍵模塊由開關構成,主要具備對步數與總步數清零的功能,按下1鍵為清零步數,實現單段時間計步的功能,而不會對總的里程造成影響。按下2鍵可以清零總步數、里程、熱量等,在不同的情形下,可以重新記錄進行比較,得到所需信息。系統軟件設計見圖3。

圖3 系統軟件設計圖
先按下GPS定位單片機的方形開關鍵,LCD1602液晶顯示屏亮起,顯示初始化頁面“Welcome to use!”,在單片機左側黃色指示燈亮起的地方與GPS信息接收天線相連,若指示燈不閃爍,說明未定位成功,反之成功。靜待30 s左右,定位成功,其中第一行“N45°42′”表示當前位置為北緯45度42分,“E126°37′”表示當前位置為東經126度37分,第二行表示當前時間為21時7分47秒,海拔高度為177 m。按下切換鍵,第一行表示當前風度,第二行表示日期和當前覆蓋的衛星數目(見圖4)。

圖4 GPS單片機實物圖
按下計步單片機的開關鍵,LCD1602液晶顯示器屏幕亮起,顯示初始化頁面,顯示出步數、總里程、消耗的熱量,按下切換鍵,進行體重和步長的設置,默認體重為50 kg,步長為30 cm,可根據個人情況進行個性化設置。再按下切換鍵,回到初始頁面,走30步后,顯示出步數為30步,消耗的熱量為1.925 J,總里程為9.3 m(見圖5)。

圖5 計步器單片機實物圖
測試結果表明,在森林等戶外情況下,手機沒信號沒電,利用本設備——用戶必備的背包,可以輕松采集到當前的經緯度、海拔高度、步數、總里程等信息,同時結合地圖,迷路的用戶可以順利找到正確的道路,實用性強。并且其還增添了消耗的熱量,以便于作業者得知自己的能量消耗情況。
本文成功地將GPS定位系統、計步系統與背包相結合,完成了一種防迷路戶外背包的設計,該背包既具有定位功能又具有計步功能,在設計完成后,分別對背包的定位功能和計步功能進行了測試,測試結果表明,該防迷路的戶外背包能滿足預期的使用需求。GPS系統和計步系統與背包的結合,是一種新的設計思路,相信這種思路會進一步完善并得到更廣泛地應用。