加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

arduino攜手12864液晶模塊,打造圖形化顯示GPS導(dǎo)航系統(tǒng)

2017/09/26
75
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買(mǎi)成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買(mǎi)后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

制作一個(gè)基于arduino 和12864液晶模塊的圖形化顯示GPS導(dǎo)航系統(tǒng),作品效果和成本可能無(wú)法和TB上的導(dǎo)航產(chǎn)品媲美,但是動(dòng)手過(guò)程會(huì)帶給你樂(lè)趣和知識(shí)。
需要了解的背景知識(shí):

  1. arduino 相關(guān)基礎(chǔ);
  2. 能使用12864 液晶模塊;
  3. 能夠用arduino 通過(guò)串口通信獲取GPS模塊定位信息;
  4. 能夠用arduino 操作SD卡模塊;

需要的主要硬件

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

原理介紹:
將地圖數(shù)據(jù)依據(jù)瓦片算法存儲(chǔ)在SD卡中,通過(guò)串口獲取GPS定位信息并從中解析出經(jīng)緯度坐標(biāo),依據(jù)經(jīng)緯度坐標(biāo)讀取相應(yīng)地圖數(shù)據(jù)顯示在12864液晶模塊上,同時(shí)顯示定位坐標(biāo)點(diǎn)。
1. 地圖存儲(chǔ)算法——瓦片系統(tǒng)(Maps Tile System)
本制作采用的地圖數(shù)據(jù)和地圖存儲(chǔ)算法來(lái)源于微軟的bing maps并做了相應(yīng)修改,具體可參考:
Bing Maps Tile System[1*]
Virtual Earth Tile Image URI 參數(shù)解析
Goolge and Microsoft Map Url Parameters
在瓦片系統(tǒng)中地圖采用金字塔式的分層存儲(chǔ)結(jié)構(gòu),不同層具有不同級(jí)別的地圖分辨率(地圖精細(xì)程度),每一層地圖被分割成等像素大?。?56X256)的瓦片,算法要解決的問(wèn)題就是給定經(jīng)緯度坐標(biāo)和縮放級(jí)別(層索引)得到具體相應(yīng)的瓦片編號(hào)。
在連接[1*]的最后有算法實(shí)現(xiàn)的代碼可共參考。
2. 針對(duì)12864液晶模塊的設(shè)計(jì)
12864液晶模塊是128像素寬64像素高的單色液晶顯示模塊,本制作為了適應(yīng)模塊顯示做出了兩個(gè)設(shè)計(jì)。
1). 將256X256像素的瓦片裁切成128X64像素大小的8份 子瓦片,如下圖所示:


每層每個(gè)瓦片均做相應(yīng)處理。
2). 通過(guò)閾值方法將8位png索引圖像(bing maps 的道路數(shù)據(jù))轉(zhuǎn)換成二進(jìn)制地圖數(shù)據(jù)文件,為了能夠顯示原圖中的文字信息,采用多閾值提取求或方法提取原地圖中背景、地物和標(biāo)注文字?jǐn)?shù)據(jù),由于標(biāo)注文字和背景之間的擾動(dòng),提取效果有待改進(jìn)。
顯示效果:

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

通過(guò)設(shè)置地圖范圍經(jīng)緯度信息獲取要使用定位的區(qū)域,可通過(guò)google earth 等能顯示經(jīng)緯度的軟件或網(wǎng)頁(yè)獲取經(jīng)緯度的最大最小值(上大下小,右大左?。?,

縮放級(jí)別建議設(shè)置范圍1~15,較大地圖范圍和較高縮放級(jí)別會(huì)增加地圖下載、顯示加載的時(shí)間。
arduino 代碼說(shuō)明:
1. 在“LCD12864RSPI” 文件中加入畫(huà)點(diǎn)函數(shù),減少重繪區(qū)域;
2. 使用占用內(nèi)存小、具有只讀能力的SD模塊庫(kù)“petit_fatfs”;
3. 分配1K內(nèi)存用于地圖數(shù)據(jù)緩存,由于SD卡庫(kù)只支持8.3文件名,地圖數(shù)據(jù)文件名采用十六進(jìn)制不定長(zhǎng)壓縮編碼方式命名。

  • maptile.rar
    描述:需要 .net2.0以上庫(kù)支持
  • 代碼.rar
    描述:代碼庫(kù)

相關(guān)推薦

電子產(chǎn)業(yè)圖譜