Arduino 制作gps轨迹记录仪 最详细的制作过程、代码
为什么要自己做现售的专业记录轨迹的设备有很多从几百元到几千元不等智能手机也可以记录轨迹既然可以这么方便的记录轨迹那自己做轨迹记录仪的好处在哪里呢1、智能手机的待机时间是痛点如果设置不当自动管理后台应用的程序会让地图软件休眠导致熄屏的时候没有记录数据。自制设备开机即记录。2、现售的设备存储空间不是很理想且操作需要主机菜单点击存储路点不方便。自制设备一键记录路点。3、买来的东西没有自己做的东西好玩。设想的功能1、没有屏幕不显示时间等信息调试的时候可以使用屏幕最后成品打包的时候拿掉屏幕。2、tf卡读卡器取数据的时候把卡拔出来。3、物理按钮拨动开关0控制电源、微动开关1控制记录路点、微动开关2控制停止操作tf卡4、用几个led显示当前状态led0显示电源接通、led1显示gps信号、led2显示tf卡5、gps数据纯粹记录log文件不做任何解析使用谷歌地球导入文件。需要的模块1、Arduino uno2、gps模块天线3、tf卡模块4、电池目前设想是一节18650到时候还是要看看待机时间。5、led、按钮等。逐步实现的代码思路1. gps是否解析gps数据这是两个思路如果解析那么就只需要写入$GPRMC和 GPGGA按日期为文件名写入tf卡并节省tf卡的空间然而tf卡有32GB完全不需要考虑容量不解析就拿不到日期写入数据的文件就只能按序列编号递增不便于日后查询。根据从易到难的顺序我还是先不解析待调试完毕第二版增加解析的功能。初级目标就是把原始的gps 数据写入。这步的问题在于如何设置适当的缓冲区把串口信息写入tf卡。中间加一个定时器设定写卡的间隔2. tf卡这步没有什么难度按照官方的例程把线插好测试一下读写即可。尽量把串口信息缓冲到内存减少tf卡的频繁操作。卡里放个配置文件配置记录航点的频率。3. 按钮要学一下端口中断保证系统响应到按钮。这步还是设想。初级版本的代码1、gps部分String s1;//缓存串口字符//读取指定长度的串口字符存入s1如果不解析直接把s1写入卡中charst;while(s1.length()maxLength){if(Serial.available()){stSerial.read();s1String(st);}}用习惯了c#回头再用c来编程处理字符串的时候特别吃力指针和字符数组看的头大如果有支持c#的开发板该有多好。还好后来发现arduino支持String类简化了很多。这里不得不说arduino只有2kB内存缓存600B的串口数据就占掉了三分之一。如果减少缓存就要更加频繁的读写tf卡现在看看其他的开发板零知开发板的内存是20kB是uno的10倍操作一下gps肯定是够了nodeMcu的内存是50kB更是让人激动。不知道这两个板子的上手难度如何淘宝都已下单过几天把玩一下。2、tf卡部分File fSD.open(fileWrite,FILE_WRITE);f.print(s1);f.close();if(s1.length()maxLength){s1;}fileWrite是待写入的文件名由下面的函数判读StringtoWriteFile(){//如果默认文件不存在直接返回默认值if(!SD.exists(gps1001.log)){returnString(gps1001.log);}for(inti1001;i9999;i){//根据递增判断目录中的最大号码的文件名String nString(gps)String(i)String(.log);String n2String(gps)String(i1)String(.log);//Serial.println(check...);if(SD.exists(n)(!SD.exists(n2))){//判断当前的最大号码文件的大小如果过大就递增一个号码longmaxSize900000;File fSD.open(n);if(f.size()maxSize){f.close();returnn2;}else{f.close();returnn;}}}}以上代码已调试完毕可以完美的记录gps轨迹啦等新的开发板到货准备把gps信号解析出来只记录有效信息。

相关新闻

TMSpeech:如何在Windows上实现离线实时语音转文字,保护隐私的同时提升工作效率

TMSpeech:如何在Windows上实现离线实时语音转文字,保护隐私的同时提升工作效率

TMSpeech:如何在Windows上实现离线实时语音转文字,保护隐私的同时提升工作效率 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在当今数字化的办公环境中,实时语音识别已成为提升…

2026/11/8 21:13:28 阅读更多 →
ELF文件与库的原理

ELF文件与库的原理

库的制作和原理 1 ELF文件 ELF文件主要包含以下4种: 可重定位文件(xxx.o) 可执行文件 共享目标文件(xxx.so) 内核转储ELF的文件构成: 1.ELF header:用于定位文件的其他部分 2.Program header table:列举了所有有效段及其属性&…

2026/11/4 19:18:03 阅读更多 →
抖音视频下载终极指南:douyin-downloader批量去水印工具完全教程

抖音视频下载终极指南:douyin-downloader批量去水印工具完全教程

抖音视频下载终极指南:douyin-downloader批量去水印工具完全教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fall…

2026/11/6 21:43:01 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/12 5:00:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/12 5:13:20 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/12 5:13:20 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/12 5:13:20 阅读更多 →

日新闻

周新闻

月新闻