Arduino读取GPS模块
Arduino读取GPS模块
最近要做一个公交车报站器,所以打算用GPS模块来实现定位的功能,于是找朋友借了个GPS模块来试试。
GPS模块
常见的GPS模块的参数都差不多,除了有些个别输出格式不同。
● 接口:RS232 TTL
● 电源:3V至5V
● 默认波特率:9600 bps
● 支持标准的NMEA
接线
GPS模块 | Arduino uno |
---|---|
RXD | 3 |
TXD | 4 |
vcc | 5V |
GND | GND |
NMEA协议
这篇文章讲的很详细 GPS NMEA-0183标准详解(常用的精度以及经纬度坐标),如果只是需要定位和时间,那我们只用读GPGGA语句和GPGLL语句就可以了,不多赘述。
程序
#include<SoftwareSerial.h>SoftwareSerial gps(4,3);
byte gpsdata = 0;
void setup(){Serial.begin(9600); //set the baud rate of serial port to 9600;gps.begin(9600); //set the GPS baud rate to 9600;}void loop(){if (ss.available()>0)gpsdata = gps.read(); //read gps dataSerial.write(gpsdata); //print gpsdata}
打开串口,查看数据,GPS模要把天线放到室外,不然看到经纬度信息。
显然,有些数据我用不上,我只需要用到经纬度信息,这里可以用TinyGPS++库来解析GPS模块数据,编写程序
/*
* richowe
*/
#include <TinyGPS++.h>
#include <SoftwareSerial.h>TinyGPSPlus gps;
SoftwareSerial ss(4, 3);float latitude;
float longitude;void setup(){Serial.begin(9600); //set the baud rate of serial port to 9600;ss.begin(9600); //set the GPS baud rate to 9600;}void loop(){while (ss.available() > 0){gps.encode(ss.read()); //The encode() method encodes the string in the encoding format specified by encoding.if (gps.location.isUpdated()){latitude = gps.location.lat(); //gps.location.lat() can export latitudelongitude = gps.location.lng();//gps.location.lng() can export latitudeSerial.print("Latitude=");Serial.print(latitude, 6); //Stable after the fifth positionSerial.print(" Longitude=");Serial.println(longitude, 6);delay(500);}}}
打开串口,输出经纬度信息。
总结
GPS模块在室内不能实现定位,但是可以获取的信息很多,如时间,速度。接着在屏幕显示。
Arduino读取GPS模块相关推荐
- linux串口读取 GPS模块程序
最近找到一个GPS模块,在接上了CH340串口工具后,我想试试自己编写一个程序在Linux环境下读取GPS数值. 串口编程的流程 串口也是一种字符设备,串口编程的流程包括: 打开串口:open函数 初 ...
- Proteus仿真Arduino MEGA开发板的GPS模块
第一步:创建开发板,选择对应的型号 第二步:添加GPS模块 第三步:添加仿真串口 第四步:代码烧进去 二,代码部分 $GPRMC,<1>,<2>,<3>,&l ...
- Arduino读取JY901+GPS/北斗双模定位模块信息(提高定位精度)串口和I2C通信
Arduino读取JY901+GPS/北斗双模定位模块信息 上一篇JY901模块连接ATK-1218-BD,GPS/北斗通过JY901上位机显示数据 采用JY901的上位机查看信息后,确定JY901, ...
- Arduino模块学习笔记(一)—GPS模块的使用
Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...
- 【雕爷学编程】Arduino动手做(74)---6MV2飞控GPS模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- GPS模块——基于Arduino
GPS输出分多种类型 该代码块对应GNGGA信息的获取.分离和提取. #include <SoftwareSerial.h>SoftwareSerial ss(4, 3); // RX,T ...
- 如何使用Arduino开发板连接NEO-6M GPS模块
本文主要介绍如何使用Arduino开发板连接NEO-6M GPS模块,然后获取GPS数据. GPS全称全球定位系统,当你旅行时,它可以用来确定位置.时间和速度. NEO-6M GPS模块简介 NEO- ...
- Arduino开发之如何连接GPS模块?
文章目录 0.引言 1.GPS模块说明 2.接调试助手测试GPS模块接收数据 3.代码编写 4.功能演示 0.引言 NEO-6M/7M GPS模块,具有高灵敏度.低功耗.小型化.高追踪灵敏度,大大 ...
- 自制基于arduino的GPS地图导航系统 原型
这是一篇关于动手制作基于arduino 和12864液晶模块的图形化显示GPS导航系统的帖子,作品效果和成本可能无法和TB上的导航产品媲美,但是动手过程会带给你乐趣和知识. 动手之前最好能具备一些背景 ...
最新文章
- 无需安装的CLI才是最好的
- SharePoint上传循环添加label并获取上传文件名字的扩展名和文件大小(Session[demo] = new ListLabel();方法实现)...
- 战神笔记本电脑自带access吗_笔记本电脑卡顿不要急着换,这几个方法,让你的电脑流畅爆表...
- php多条件循环语句,PHP 实用教程-条件语句与循环语句
- map的key可以试一个数组吗?_二维数组的 DP
- webApi2 上传大文件代码
- SDK里报错[NSConcreteMutableData wbsdk_base64EncodedString]
- iOS build faad
- java二维数组扫雷,Java 数组 之 二维数组 扫雷实例
- iis 6 7 8预加载,提升web访速
- Stackelberg 博弈模型求解
- 计算机ppt音乐,PPT设置了背景音乐,但拿到另外一台电脑上放的时候就没了
- 拉宾-卡普算法详解以及示例[rabin-karp]
- python打开csv文件、计算总成绩_python – 读取CSV文件,计算平均值并打印所述平均值...
- Kafka代码连不上:Recovery is suppressed by NoRestartBackoffTimeStrategy
- Palantir的研究到金融风控(二)
- 运营之光:我的互联网运营方法论与自白学习总结(思维导图)
- 将Ubuntu主文件夹里的中文文件夹名称改成英文
- 驭梦KTV点歌系统简介
- 2017 java 面试大全
热门文章
- XP系统下安装SQL Server2000标准版/企业版
- C语言:搬砖问题(for循环)
- 2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】
- ubuntu16.04安装网易云音乐方法出现问题及解决方法(桌面图标打不开、不能输入中文等问题)
- Python 数字黑洞
- python编程语言创始人-程序员都秃顶?Python创始人笑了,养生还得学这门语言
- c语言调试时窗口一闪就没了,VS2012编译C语言代码运行出现黑框一闪就没了
- 淘宝网(关于淘宝拆分)
- LeetCode-378.有序矩阵中第k小的元素、二分查找
- 创新与赛道定义 ——产品定义和建立赛道是个技术活