如何将Arduino的GPS模块连接和使用

电子说

1.2w人已加入

描述

步骤1:电路连接

BLACK线到Ultimate板的Gnd连接

RED线到Ultimate板的5V连接

BLUE线到Ultimate板的RxD连接

GREEN线到Ultimate板的TxD连接

WHITE线到Ultimate板的PPS连接

根据我们的代码

connect

RXPin电路板到digitalPin 4,

电路板到digitalPin 3的TXPin

Vcc到5v,GND到GND

步骤2:编程

首先需要一个库:

您可以从此处下载

在arduino中安装库之后,打开 DeviceExample.ino 来自示例》 tinyGPS ++

或简单地复制以下代码。

#include

#include

/*

* https://alaspuresujay.github.io/

* follow me on instagram https://www.instagram.com/alaspuresujay

*

This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.

It requires the use of SoftwareSerial, and assumes that you have a

9600-baud serial GPS device hooked up on pins 4(rx) and 3(tx)。

*/

static const int RXPin = 4, TXPin = 3;

static const uint32_t GPSBaud = 9600;

// The TinyGPS++ object

TinyGPSPlus gps;

// The serial connection to the GPS device

SoftwareSerial ss(RXPin, TXPin);

void setup()

{

Serial.begin(115200);

ss.begin(GPSBaud);

Serial.println(F(“DeviceExample.ino”));

Serial.println(F(“A simple demonstration of TinyGPS++ with an attached GPS module”));

Serial.print(F(“Testing TinyGPS++ library v. ”)); Serial.println(TinyGPSPlus::libraryVersion());

Serial.println(F(“by Sujay Alaspure”));

Serial.println();

}

void loop()

{

// This sketch displays information every time a new sentence is correctly encoded.

while (ss.available() 》 0)

if (gps.encode(ss.read()))

displayInfo();

if (millis() 》 5000 && gps.charsProcessed() 《 10)

{

Serial.println(F(“No GPS detected: check wiring.”));

while(true);

}

}

void displayInfo()

{

float latt=gps.location.lat();

Serial.print(gps.location.lat(),10);

Serial.print(F(“,”));

Serial.print(gps.location.lng(), 10);

Serial.print(“ ”);

Serial.print(latt,10);

Serial.print(F(“Location: ”));

if (gps.location.isValid())

{

Serial.print(gps.location.lat(), 6);

Serial.print(F(“,”));

Serial.print(gps.location.lng(), 6);

}

else

{

Serial.print(F(“INVALID”));

}

Serial.print(F(“ Date/Time: ”));

if (gps.date.isValid())

{

Serial.print(gps.date.month());

Serial.print(F(“/”));

Serial.print(gps.date.day());

Serial.print(F(“/”));

Serial.print(gps.date.year());

}

else

{

Serial.print(F(“INVALID”));

}

Serial.print(F(“ ”));

if (gps.time.isValid())

{

if (gps.time.hour() 《 10) Serial.print(F(“0”));

Serial.print(gps.time.hour());

Serial.print(F(“:”));

if (gps.time.minute() 《 10) Serial.print(F(“0”));

Serial.print(gps.time.minute());

Serial.print(F(“:”));

if (gps.time.second() 《 10) Serial.print(F(“0”));

Serial.print(gps.time.second());

Serial.print(F(“。”));

if (gps.time.centisecond() 《 10) Serial.print(F(“0”));

Serial.print(gps.time.centisecond());

}

else

{

Serial.print(F(“INVALID”));

}

Serial.println();

}

步骤3:注意:

请将GPS模块放在房屋外面或窗户旁边。

廉价的GPS模块例如VK16E的1pps信号精度不高。

您可能会发现,与许多使用贴片天线的GPS模块一样,GPS模块可能需要放在窗户旁边或外面。 GPS信号的强度似乎会根据位置和周围建筑物等的不同而有很大差异。根据您的棚屋布局和接地情况,离极限套件越远,GPS模块也可能会受益。因此,您可能需要使用几米长的电线将GPS模块连接到套件。我建议在屏幕连接到Gnd的情况下使用屏蔽电缆。 4)

该模块具有绿色LED(如上图所示),在GPS模块搜索卫星锁定时该LED持续亮起,并且在锁定时以每秒1脉冲的频率闪烁。/strong》

责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分