GPS是一种非常有用的设备,可用于许多电子项目和应用中,例如车辆跟踪系统,GPS时钟,事故检测警报系统,交通导航和监视系统等。但是问题是如何使用GPS并从GPS读取数据?我们可以轻松地使用Arduino将GPS数据直接输入到计算机中。
GPS代表全球定位系统,用于以精确的UTC时间(协调世界时)检测地球上任何位置的纬度和经度。该设备每隔一秒钟从卫星接收带有时间和日期的坐标。GPS不仅具有很高的精度,而且还提供位置坐标以外的其他数据,我们将尽快对其进行介绍。
在这个arduino GPS教程中,我们将解释如何使用Computer和Arduino测试或接口GPS模块。为了使GSM与计算机接口,我们需要USB到串行转换器或Arduino板。在这里,我们使用Arduino开发板来连接GPS。我们只需要Arduino开发板,GPS模块,计算机和12v / 3.3v适配器即可供电。在这里,我们使用了GPS接收器模块SKG13BL(如上图所示)。
在将其连接到计算机之前,我们首先需要从Arduino板上移除Arduino IC(Atmega芯片),因为我们只需要Arduino的串行电路即可。这称为网关模式。下图显示了卸下IC的方法:
现在进行如下图所示的连接:
- GPS TX引脚到Arduino(TXD)的数字PIN 1
- GPS接地引脚到Arduino的GND引脚
- Arduino的GPS电源(3.3v)引脚到3.3v引脚
连接后,将USB电缆连接到计算机,在计算机中打开Arduino IDE软件,选择com端口并打开串行监视器以监听串行端口,然后打开Arduino和GPS模块的电源。
现在,您将在Arduino串行监视器窗口中看到GPS数据,如下所示。以下是两个快照,第一个快照是GPS不在范围内时,第二个快照是GPS在范围内时。
GPS数据当GPS接收器超出范围时:
GPS数据在GPS接收器处于范围内时:
在串行窗口中,您可以看到一些以$号开头的句子。这些是NMEA句子。GPS模块以NMEA格式发送实时跟踪位置数据(请参见上面的屏幕截图)。NMEA格式由几个句子组成,其中四个重要句子如下。有关NMEA语句及其数据格式的更多详细信息,请参见此处。
- $ GPGGA:全球定位系统修复数据
- $ GPGSV:可以看到GPS卫星
- $ GPGSA:GPS DOP和活动卫星
- $ GPRMC:建议的最低特定GPS /公交数据
这些字符串包含许多GPS参数,例如:时间,日期,经度,纬度,速度,否。二手卫星,高度和许多其他方面。
对于任何位置坐标和时间,我们可以使用$ GPGGA和$ GPRMC。
对于日期和时间,我们可以使用$ GPRMC字符串。
当我们使用GPS模块跟踪任何位置时,我们只需要坐标,就可以在$ GPGGA string中找到它。仅$ GPGGA(全球定位系统修复数据)字符串主要用于程序中,而其他字符串则被忽略。此字符串包含以下修复数据:
$ GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,* 47 $ GPGGA,HHMMSS.SSS,纬度,N,经度,E,FQ,NOS,HDP ,高度,M,高度,M,校验和数据
识别码 |
描述 |
$ GPGGA |
全球定位系统修复数据 |
卫生管理系统 |
时间以小时,分钟,秒和毫秒的格式表示。 |
纬度 |
纬度(坐标) |
ñ |
方向N =北,S =南 |
经度 |
经度(坐标) |
Ë |
方向E =东,W =西 |
FQ |
修正质量数据 |
NOS |
正在使用的卫星数 |
高密度脂蛋白 |
水平精度稀释 |
高度 |
海拔高度(距海平面以上米) |
中号 |
仪表 |
高度 |
高度 |
校验和 |
校验和数据 |
和$ GPRMC字符串主要包含速度,时间,日期和位置
$ GPRMC,123519.000,A,7791.0381,N,06727.4434,E,022.4,084.4,230394,003.1,W * 6A $ GPRMC,HHMMSS.SSS,A,纬度,N,经度,E,速度,角度,日期,MV ,W,CMD
识别码 |
描述 |
RMC |
推荐的最小句子C |
卫生管理系统 |
时间以小时,分钟,秒和毫秒的格式表示。 |
一种 |
状态// A =有效,V =无效 |
纬度 |
纬度49度 16.45分钟 北 |
ñ |
方向N =北,S =南 |
经度 |
经度(坐标) |
Ë |
方向E =东,W =西 |
速度 |
速度结 |
角度 |
跟踪角度(度) |
日期 |
时间戳记(UTC日期) |
MV |
磁变化 |
w ^ |
变化方向E / W |
CMD(* 6A) |
校验和数据 |
通常,此字符串用于获取时间,日期和速度。