自制基于arduino的GPS地图导航系统3.0
本帖最后由 davidce 于 2014-3-12 22:58 编辑这是"自制基于arduino的GPS地图导航系统"和"自制基于arduino的GPS地图导航系统2.0"的最后一个版本,主要用来在跑步的时候定位和记录路径。
使用1.8寸TFT屏,128*160分辨率,SPI接口。采用Atmega 328为主控芯片。
5V输入锂电池充电板,系统电压3.3V。
左侧黑色按钮放大,右侧红色按钮缩小,长按红色按钮(>=2秒)录制轨迹,再次长按停止录制。
演示如下:
http://v.youku.com/v_show/id_XNjg0MzA1ODcy.html
蓝色的点代表历史路径,刷屏后消失不保存,右下角REC字样表示仪器正在录制轨迹,存在SD卡中。
下部绿色显示经纬度信息,红色显示时间和日期,蓝色显示海拔高度、速度和朝向。从图中历史轨迹点可看出数据漂移较多,原因可能是1.GPS模块精度不高;2.GPS模块应该设置在仪器的上方;3.需要采用滤波算法过滤。
地图数据存在SD卡中,目录结构如下:
TRACK文件为轨迹文件
这是地图下载程序,需要.net Framework 4 支持
这是Arduino 程序
支持的库文件
串口速率与GPS模块要设置一致,接线方式如下:
//TFT SDA -> UNO 11
//TFT SCK -> UNO 13
#define TFT_CS10// Chip select line for TFT display
#define TFT_A0 9// Data/command line for TFT
#define TFT_RST8// Reset line for TFT (or connect to +5V)
#define TFT_LEDA0
#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的计算能力可能无法满足。 波特率我设置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失败,下载13失败,表示是1级和13级失败吗,怎么解决?
非常给力哦。。。之前我的彩屏一直不能输出图像,有空来学习一下~ 亲,你的代码我下不了。能否单独给发一份邮件?19958629@@@@qq.com maxims 发表于 2014-4-12 17:11 static/image/common/back.gif
亲,你的代码我下不了。能否单独给发一份邮件?19958629@@@@qq.com
经测,可下 我手上的gps模块sifr3 电流 70-80ma,普通的小电池伤不起啊~~~ davidce 发表于 2014-4-12 21:25 static/image/common/back.gif
经测,可下
网络问题,我是联通网络,本站的所有附件都下载不了。。。伤不起啊 hi55234 发表于 2014-4-12 21:59 static/image/common/back.gif
我手上的gps模块sifr3 电流 70-80ma,普通的小电池伤不起啊~~~
sifr3 的搜星快,40秒就能定位 davidce 发表于 2014-4-12 22:39 static/image/common/back.gif
sifr3 的搜星快,40秒就能定位
确实,搜星快,室内窗边也有5颗星,基本没啥飘逸 顶,楼主辛苦,希望有做出来的大神能继续分享下经验. 专程过来膜拜的 lz是的用的那个型号的GPS呢 厉害不是一点点 好强!学习了。 你这个地图显示搞的很牛逼啊,涉及到坐标换算的,下下来看看。 楼主您好,这个GPS模块是什么型号的?还有可以用Arduino做主控吗?