• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于arduino的GPS導航系統(tǒng)源碼+設計說明等

2015/11/02
14
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

GPS導航系統(tǒng)設計V0.1版本.zip

共3個文件

        這是一篇關(guān)于動手制作基于arduino 和12864液晶模塊的圖形化顯示GPS導航系統(tǒng)的帖子,作品效果和成本可能無法和TB上的導航產(chǎn)品媲美,但是動手過程會帶給你樂趣和知識。

該設計根據(jù)功能分為三個版本。(具體詳見附件內(nèi)容)

最終版本視頻演示:

動手之前最好能具備一些背景知識:
1. arduino 相關(guān)基礎;
2. 能使用12864 液晶模塊;
3. 能夠用arduino 通過串口通信獲取GPS模塊定位信息;
4. 能夠用arduino 操作SD卡模塊;

制作所需主要硬件

  1. arduino UNO 1片;
  2. 12864 液晶模塊 1片;
  3. GPS模塊1片;
  4. SD卡模塊及SD卡 1套;

如截圖:

原理:
將地圖數(shù)據(jù)依據(jù)瓦片算法存儲在SD卡中,通過串口獲取GPS定位信息并從中解析出經(jīng)緯度坐標,依據(jù)經(jīng)緯度坐標讀取相應地圖數(shù)據(jù)顯示在12864液晶模塊上,同時顯示定位坐標點。

1. 地圖存儲算法——瓦片系統(tǒng)(Maps Tile System)
本制作采用的地圖數(shù)據(jù)和地圖存儲算法來源于微軟的bing maps并做了相應修改。

具體可參考:
Bing Maps Tile System[1*]
Virtual Earth Tile Image URI 參數(shù)解析
Goolge and Microsoft Map Url Parameters
在瓦片系統(tǒng)中地圖采用金字塔式的分層存儲結(jié)構(gòu),不同層具有不同級別的地圖分辨率(地圖精細程度),每一層地圖被分割成等像素大?。?56X256)的瓦片,算法要解決的問題就是給定經(jīng)緯度坐標和縮放級別(層索引)得到具體相應的瓦片編號。
在連接[1*]的最后有算法實現(xiàn)的代碼可共參考。

2. 針對12864液晶模塊的設計
12864液晶模塊是128像素寬64像素高的單色液晶顯示模塊,本制作為了適應模塊顯示做出了兩個設計。
1). 將256X256像素的瓦片裁切成128X64像素大小的8份 子瓦片。

如下圖所示:

2). 通過閾值方法將8位png索引圖像(bing maps 的道路數(shù)據(jù))轉(zhuǎn)換成二進制地圖數(shù)據(jù)文件,為了能夠顯示原圖中的文字信息,采用多閾值提取求或方法提取原地圖中背景、地物和標注文字數(shù)據(jù),由于標注文字和背景之間的擾動,提取效果有待改進。

顯示效果:

生成地圖程序(需要連接互聯(lián)網(wǎng)):

通過設置地圖范圍經(jīng)緯度信息獲取要使用定位的區(qū)域,可通過google earth 等能顯示經(jīng)緯度的軟件或網(wǎng)頁獲取經(jīng)緯度的最大最小值(上大下小,右大左?。???s放級別建議設置范圍1~15,較大地圖范圍和較高縮放級別會增加地圖下載、顯示加載的時間。

注意:上面是對GPS導航V0.1版本的具體介紹,其他的V0.2和V0.3版本詳見附件內(nèi)容。

  • GPS導航系統(tǒng)設計V0.1版本.zip
    下載
    描述:主要包括源碼
  • GPS導航系統(tǒng)設計V0.2.zip
    下載
    描述:GPS導航系統(tǒng),算法類似V0.1版本
  • GPS導航系統(tǒng)設計V0.3.zip
    下載
    描述:主要用來在跑步的時候定位和記錄路徑

相關(guān)推薦