日学一技003:玩UNO的时候,这是几点,我在哪里?
你吃下了文刀君投喂的第11斤食物。你胖了,也变强了。
UNO+ATGM336H: Arduino实现gps信号采集
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口,秒脉冲输出
3.2.模块与UNO接线方法
-
VCC-3.3V
-
TXD-任意一个digital引脚,例如12
-
RXD-任意一个pwm引脚,例如11
-
GND-任意一个GND
-
PPS-不用接
4.Arduino程序代码
非常简单,直接写出接收到的数据即可。注意byte gpsData = ss.read()取值为0~255,而Serial.write(gpsData);输出ASCII码对应的字符。
#includeSoftwareSerial 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,,,,,,,······
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com