UNO+ATGM336H: Arduino实现gps信号采集

Qamar ·
更新时间:2024-09-21
· 648 次阅读

1.结果预期

在串口监视器中看到NMEA1083形式的实时gps数据

2.用到的设备 Arduino UNO开发板 中科微电子ATGM336H模块 天线G275(直接用焊接、机械扣等方式接到ATGM336H上) 3.接线方法 3.1.gps模块引脚简介 VCC:I口,模块电源输入,支持2.7~3.6V,峰值小于100mA的电源输入 TXD:O口,NMEA1083的导航数据输出 RXD:I口,交互命令输入,接收配置命令 GND:I口,不必解释 PPS:O口,秒脉冲输出

ATGM336H

3.2.模块与UNO接线方法 VCC-3.3V TXD-任意一个digital引脚,例如12 RXD-任意一个pwm引脚,例如11 GND-任意一个GND PPS-不用接
UNO 4.Arduino程序代码

非常简单,直接写出接收到的数据即可。注意byte gpsData = ss.read()取值为0~255,而Serial.write(gpsData);输出ASCII码对应的字符。

#include SoftwareSerial ss(12, 11); void setup() { Serial.begin(9600); ss.begin(9600); } void loop() { while (ss.available() > 0) { byte gpsData = ss.read(); Serial.write(gpsData); } } 5.运行结果

打开串口监视器,会收到NMEA1083格式下的数据。每秒发送一个数据包,相邻字符发送间隔由波特率决定。以$打头的大写字母作为标志,代表之后跟着的数据含义。煮个栗子:$GNGGA,之后的前六个数据表示时间:

$GNGGA,104007······

其含义为:UTC时间(本初子午线时间)为10:40:07。接收不到信号的时候(例如在室内),会表现为:

$GNGGA,······

看懂了就给个赞呗~


作者:EE Sheep



uno gps arduino

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章