ZBLOG

GPS通信 示例

以下是一个使用GPS通信的示例代码:

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

// 定义GPS模块的串口引脚
#define GPS_RX_PIN 2
#define GPS_TX_PIN 3

// 创建软件串口对象,连接到GPS模块
SoftwareSerial gpsSerial(GPS_RX_PIN, GPS_TX_PIN);

// 创建GPS解析器对象
TinyGPSPlus gps;

void setup() {
  Serial.begin(9600); // 初始化串口通信(用于输出数据)

  gpsSerial.begin(9600); // 初始化GPS模块的串口通信

  // 打印起始信息
  Serial.println("GPS Example");
}

void loop() {
  while (gpsSerial.available()) {
    // 获取并解析接收到的数据
    gps.encode(gpsSerial.read());
    
    if (gps.location.isUpdated()) {
      // 获取经度和纬度信息
      float latitude = gps.location.lat();
      float longitude = gps.location.lng();

      // 打印经纬度信息
      Serial.print("Latitude: ");
      Serial.println(latitude, 6);
      
      Serial.print("Longitude: ");
      Serial.println(longitude, 6);
    }
  }
}

这个示例使用了Arduino开发板,并通过软件串口与GPS模块进行通信。它使用TinyGPS++库来解析接收到的NMEA格式的GPS数据,并提取出经度和纬度信息。在loop()函数中,通过判断gps.location.isUpdated()是否为真来检测是否有新的位置更新,然后获取并打印经纬度信息。

请注意,在使用这个示例前,确保正确连接了GPS模块,并根据实际情况调整代码中的引脚号和波特率。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=11836

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?