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模块相关推荐

  1. linux串口读取 GPS模块程序

    最近找到一个GPS模块,在接上了CH340串口工具后,我想试试自己编写一个程序在Linux环境下读取GPS数值. 串口编程的流程 串口也是一种字符设备,串口编程的流程包括: 打开串口:open函数 初 ...

  2. Proteus仿真Arduino MEGA开发板的GPS模块

    第一步:创建开发板,选择对应的型号 第二步:添加GPS模块  第三步:添加仿真串口  第四步:代码烧进去  二,代码部分 $GPRMC,<1>,<2>,<3>,&l ...

  3. Arduino读取JY901+GPS/北斗双模定位模块信息(提高定位精度)串口和I2C通信

    Arduino读取JY901+GPS/北斗双模定位模块信息 上一篇JY901模块连接ATK-1218-BD,GPS/北斗通过JY901上位机显示数据 采用JY901的上位机查看信息后,确定JY901, ...

  4. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

  5. 【雕爷学编程】Arduino动手做(74)---6MV2飞控GPS模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  6. GPS模块——基于Arduino

    GPS输出分多种类型 该代码块对应GNGGA信息的获取.分离和提取. #include <SoftwareSerial.h>SoftwareSerial ss(4, 3); // RX,T ...

  7. 如何使用Arduino开发板连接NEO-6M GPS模块

    本文主要介绍如何使用Arduino开发板连接NEO-6M GPS模块,然后获取GPS数据. GPS全称全球定位系统,当你旅行时,它可以用来确定位置.时间和速度. NEO-6M GPS模块简介 NEO- ...

  8. Arduino开发之如何连接GPS模块?

    文章目录 0.引言 1.GPS模块说明 2.接调试助手测试GPS模块接收数据 3.代码编写 4.功能演示 0.引言   NEO-6M/7M GPS模块,具有高灵敏度.低功耗.小型化.高追踪灵敏度,大大 ...

  9. 自制基于arduino的GPS地图导航系统 原型

    这是一篇关于动手制作基于arduino 和12864液晶模块的图形化显示GPS导航系统的帖子,作品效果和成本可能无法和TB上的导航产品媲美,但是动手过程会带给你乐趣和知识. 动手之前最好能具备一些背景 ...

最新文章

  1. 无需安装的CLI才是最好的
  2. SharePoint上传循环添加label并获取上传文件名字的扩展名和文件大小(Session[demo] = new ListLabel();方法实现)...
  3. 战神笔记本电脑自带access吗_笔记本电脑卡顿不要急着换,这几个方法,让你的电脑流畅爆表...
  4. php多条件循环语句,PHP 实用教程-条件语句与循环语句
  5. map的key可以试一个数组吗?_二维数组的 DP
  6. webApi2 上传大文件代码
  7. SDK里报错[NSConcreteMutableData wbsdk_base64EncodedString]
  8. iOS build faad
  9. java二维数组扫雷,Java 数组 之 二维数组 扫雷实例
  10. iis 6 7 8预加载,提升web访速
  11. Stackelberg 博弈模型求解
  12. 计算机ppt音乐,PPT设置了背景音乐,但拿到另外一台电脑上放的时候就没了
  13. 拉宾-卡普算法详解以及示例[rabin-karp]
  14. python打开csv文件、计算总成绩_python – 读取CSV文件,计算平均值并打印所述平均值...
  15. Kafka代码连不上:Recovery is suppressed by NoRestartBackoffTimeStrategy
  16. Palantir的研究到金融风控(二)
  17. 运营之光:我的互联网运营方法论与自白学习总结(思维导图)
  18. 将Ubuntu主文件夹里的中文文件夹名称改成英文
  19. 驭梦KTV点歌系统简介
  20. 2017 java 面试大全

热门文章

  1. XP系统下安装SQL Server2000标准版/企业版
  2. C语言:搬砖问题(for循环)
  3. 2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】
  4. ubuntu16.04安装网易云音乐方法出现问题及解决方法(桌面图标打不开、不能输入中文等问题)
  5. Python 数字黑洞
  6. python编程语言创始人-程序员都秃顶?Python创始人笑了,养生还得学这门语言
  7. c语言调试时窗口一闪就没了,VS2012编译C语言代码运行出现黑框一闪就没了
  8. 淘宝网(关于淘宝拆分)
  9. LeetCode-378.有序矩阵中第k小的元素、二分查找
  10. 创新与赛道定义 ——产品定义和建立赛道是个技术活