极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 217821|回复: 149

自制基于arduino的GPS地图导航系统3.0

  [复制链接]
发表于 2014-3-12 22:59:48 | 显示全部楼层 |阅读模式
本帖最后由 davidce 于 2014-3-12 22:58 编辑

        这是"自制基于arduino的GPS地图导航系统"和"自制基于arduino的GPS地图导航系统2.0"的最后一个版本,主要用来在跑步的时候定位和记录路径。

使用1.8寸TFT屏,128*160分辨率,SPI接口。采用Atmega 328为主控芯片。


5V输入锂电池充电板,系统电压3.3V。


左侧黑色按钮放大,右侧红色按钮缩小,长按红色按钮(>=2秒)录制轨迹,再次长按停止录制。

演示如下:



蓝色的点代表历史路径,刷屏后消失不保存,右下角REC字样表示仪器正在录制轨迹,存在SD卡中。
下部绿色显示经纬度信息,红色显示时间和日期,蓝色显示海拔高度、速度和朝向。从图中历史轨迹点可看出数据漂移较多,原因可能是1.GPS模块精度不高;2.GPS模块应该设置在仪器的上方;3.需要采用滤波算法过滤。

地图数据存在SD卡中,目录结构如下:

TRACK文件为轨迹文件

这是地图下载程序,需要.net Framework 4 支持

这是Arduino 程序

支持的库文件


串口速率与GPS模块要设置一致,接线方式如下:
//TFT SDA -> UNO 11
//TFT SCK -> UNO 13
#define TFT_CS  10  // Chip select line for TFT display
#define TFT_A0   9  // Data/command line for TFT
#define TFT_RST  8  // Reset line for TFT (or connect to +5V)
#define TFT_LED  A0
#define SD_CS    4  // Chip select line for SD card
//SD MISO -> UNO 12
//SD SCK -> UNO 13
//SD MOSI -> UNO 11

//GPS tx - UNO rx
//GPS rx - UNO tx

#define BTNZOOMIN 2
#define BTNZOOMOUT 3

拨动开关控制电池充电和仪器开关,电池接中间引脚,充电板和仪器电源各接两边。


点击“显示地图”出现地图窗口,地图可能加载较慢,通过鼠标左键拖拽进行平移,鼠标滚轮进行放大缩小,浏览到感兴趣的区域,点击“选择区域”并在地图中点击确定多边形的顶点,双击左键绘制结束,通过绘制多边形确定下载区域,关闭地图窗口,其它参数默认,点击确定并设置下载路径进行下载。将下载路径下的MAP文件夹替换SD卡相应目录下的MAP文件夹即可。

下一步功能,将轨迹上传到网上并可以共享;添加历史轨迹回放功能;实现平滑卷屏效果,不过328的计算能力可能无法满足。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2018-1-22 11:25:31 | 显示全部楼层
波特率我设置9600,出现如下乱码,而且每次关闭串口再打开串口数据才发生变化:
)?姠瞓b姎b姫b偑抌毆R簜j
$GPGSV,3,2,10,15,43,037,42,18,46,327,45瑐R?5
$GPTXT,01,01,01,ANTENNA OK*35
b姫b娐b姎b挗b拪b拏b妭bbbbbb抮俠妑抌妑睷?5
$BDGSA,A,3,09,06,13,,,鼔墘墘墘Ir俠妑抌妑睷捖j
$GPGSV,3,1,10,05,10,116,,10,15,314,18,12,??uMY?,2,10,15,43,037,42,18,46,327,44,20,61,089,25,21,56,263,25b?b姎b?b拻?拏R?5
$GNRMC,024220.000,A,2605.1085,N,11913.9380,E$GNGGA,024222.000,2605?蕣歳蕷聤b*?24230.000,A,A*49
$GPGSA,A,3,15,18,13,24,21,20,10,,?,2018,00,00*44
$GPTXT,01,01,01,ANTENNA OK*35
覕J??24232.000,A,2605.1085,N,11913.9380,E,0.19,182.90,220118,,?GNGGA,024235.000,2605.1081,N,11913.9380,E,1,10,1.2,17.6,M,0??.00,182.90,220118,,,A*7A
$GNVTG,182.90,T,,M,0.00,N,0.00,K,A*2
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-30 20:04:21 | 显示全部楼层
楼主我想问一下,下载地图时,显示下载1失败,下载13失败,表示是1级和13级失败吗,怎么解决?
回复 支持 1 反对 0

使用道具 举报

发表于 2014-3-15 22:20:02 | 显示全部楼层
非常给力哦。。。之前我的彩屏一直不能输出图像,有空来学习一下~
回复 支持 反对

使用道具 举报

发表于 2014-4-12 17:11:59 | 显示全部楼层
亲,你的代码我下不了。能否单独给发一份邮件?19958629@@@@qq.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-12 21:25:20 | 显示全部楼层
maxims 发表于 2014-4-12 17:11
亲,你的代码我下不了。能否单独给发一份邮件?19958629@@@@qq.com

经测,可下
回复 支持 反对

使用道具 举报

发表于 2014-4-12 21:59:13 | 显示全部楼层
我手上的gps模块sifr3 电流 70-80ma,普通的小电池伤不起啊~~~
回复 支持 反对

使用道具 举报

发表于 2014-4-12 22:34:48 | 显示全部楼层
davidce 发表于 2014-4-12 21:25
经测,可下

网络问题,我是联通网络,本站的所有附件都下载不了。。。伤不起啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-12 22:39:15 | 显示全部楼层
hi55234 发表于 2014-4-12 21:59
我手上的gps模块sifr3 电流 70-80ma,普通的小电池伤不起啊~~~

sifr3 的搜星快,40秒就能定位
回复 支持 反对

使用道具 举报

发表于 2014-4-12 23:21:21 | 显示全部楼层
davidce 发表于 2014-4-12 22:39
sifr3 的搜星快,40秒就能定位

确实,搜星快,室内窗边也有5颗星,基本没啥飘逸
回复 支持 反对

使用道具 举报

发表于 2014-5-17 22:39:00 | 显示全部楼层
顶,楼主辛苦,希望有做出来的大神能继续分享下经验.
回复 支持 反对

使用道具 举报

发表于 2014-6-25 00:15:07 | 显示全部楼层
专程过来膜拜的
回复 支持 反对

使用道具 举报

发表于 2014-7-26 10:01:24 | 显示全部楼层
lz是的用的那个型号的GPS呢
回复 支持 反对

使用道具 举报

发表于 2014-9-17 21:48:45 | 显示全部楼层
厉害不是一点点
回复 支持 反对

使用道具 举报

发表于 2014-11-17 21:43:41 | 显示全部楼层
好强!学习了。
回复 支持 反对

使用道具 举报

发表于 2014-12-18 16:58:04 | 显示全部楼层
你这个地图显示搞的很牛逼啊,涉及到坐标换算的,下下来看看。
回复 支持 反对

使用道具 举报

发表于 2014-12-19 11:22:30 | 显示全部楼层
楼主您好,这个GPS模块是什么型号的?还有可以用Arduino做主控吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 09:52 , Processed in 0.052196 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表