Arduino GPS没有给出经度和纬度值

Arduino GPS没有给出经度和纬度值,gps,arduino,Gps,Arduino,我正在尝试跟踪GPS,但无法接收经度和纬度数据。 我正在使用“Adafruit终极GPS突破V3”GPS模块和“Arduino UNO R3” 这是我的密码。我两者都试过了 ::第一个代码::: #include <SoftwareSerial.h> #include <TinyGPS.h> long flat, flon; SoftwareSerial gpsSerial(2, 3); // Create GPS pin connection TinyGPS gp

我正在尝试跟踪GPS,但无法接收经度和纬度数据。 我正在使用“Adafruit终极GPS突破V3”GPS模块和“Arduino UNO R3”

这是我的密码。我两者都试过了

::第一个代码:::

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

long flat, flon;

SoftwareSerial gpsSerial(2, 3);  // Create GPS pin connection
TinyGPS gps;

void setup(){
Serial.begin(9600); // connection serial
gpsSerial.begin(9600); // gps burd rate
}

void loop(){
while(gpsSerial.available()){  // check for gps data
if(gps.encode(gpsSerial.read())){  // encode gps data
  gps.get_position(&flat, &flon);  // get lattitude and longitude
  // display position
  Serial.print("Position: ");
  Serial.print("lat: ");Serial.println(flat);
  Serial.print("lon: ");Serial.println(flon);
    }
  }
}
#包括
#包括
长而平,花;
软件串行gpsSerial(2,3);//创建GPS pin连接
TinyGPS;
无效设置(){
Serial.begin(9600);//串行连接
gpsSerial.begin(9600);//gps负荷率
}
void循环(){
而(gpsSerial.available()){//检查gps数据
if(gps.encode(gpsSerial.read()){//encode gps数据
gps.get_position(&flat,&flon);//获取纬度和经度
//显示位置
序列号。打印(“位置:”);
Serial.print(“lat:”);Serial.println(flat);
Serial.print(“lon:”;Serial.println(flon);
}
}
}
::第二个代码:::

#include <SoftwareSerial.h>
#include <TinyGPS++.h>
#define RXPin 3
#define TXPin 4
#define GPSBaud 9600
#define ConsoleBaud 115200

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

// The TinyGPS++ object
TinyGPSPlus gps;

void setup(){
  Serial.begin(ConsoleBaud);
  ss.begin(GPSBaud);

  Serial.println("GPS Example 2");
  Serial.println("A simple tracker using TinyGPS++.");
  Serial.println();
}

void loop(){
 // If any characters have arrived from the GPS,
 // send them to the TinyGPS++ object
 while (ss.available() > 0)
 gps.encode(ss.read());

 // Let's display the new location and altitude
 // whenever either of them have been updated.
 if (gps.location.isUpdated() || gps.altitude.isUpdated()){
   Serial.print("Location: ");
   Serial.print(gps.location.lat(), 6);
   Serial.print(",");
   Serial.print(gps.location.lng(), 6);
   Serial.print("  Altitude: ");
   Serial.println(gps.altitude.meters());
  }
}
#包括
#包括
#定义RXPin 3
#定义TXPIN4
#定义GPSBaud 9600
#定义控制台BAUD 115200
//与GPS设备的串行连接
软件系列ss(RXPin、TXPin);
//TinyGPS++对象
TinyGPSPlus gps;
无效设置(){
Serial.begin(控制台包);
开始(GPSBaud);
Serial.println(“GPS示例2”);
println(“使用TinyGPS++的简单跟踪器”);
Serial.println();
}
void循环(){
//如果GPS上有任何字符,
//将它们发送到TinyGPS++对象
而(ss.available()>0)
gps.encode(ss.read());
//让我们显示新的位置和高度
//只要其中一个已更新。
if(gps.location.isUpdated()| | gps.altime.isUpdated()){
序列号。打印(“位置:”);
Serial.print(gps.location.lat(),6);
连续打印(“,”);
Serial.print(gps.location.lng(),6);
连续打印(“高度:”);
Serial.println(gps.altime.meters());
}
}

您正在使用哪些PIN?第一个代码显示2和3,但第二个代码显示3和4。记住,GPS TX引脚连接到Arduino RX引脚。同样,GPS RX引脚连接到Arduino TX引脚。对于第一个代码,GPS TX引脚应连接至Arduino引脚2

你在里面吗?您可能必须在室外,或者至少在某些窗口附近,GPS设备才能接收来自卫星的信息。第一次修复可能需要15分钟

虽然没有显示任何输出,但应先尝试一个简单的回波程序,以查看GPS设备是否正在发送任何信息

#包括
新系列gpsSerial(2,3);
无效设置()
{
Serial.begin(9600);
gpsSerial.begin(9600);
}
void循环()
{
if(gpsSerial.available())
Serial.write(gpsSerial.read());
}
我还建议你去图书馆。这是我的库,它比
SoftwareSerial
更高效、更可靠

#include <NeoSWSerial.h>
NeoSWSerial gpsSerial( 2, 3 );

void setup()
{
  Serial.begin( 9600 );
  gpsSerial.begin( 9600 );
}

void loop()
{
  if (gpsSerial.available())
    Serial.write( gpsSerial.read() );
}