我正在尝试跟踪GPS,但我无法接收经度和纬度数据。 我正在使用" Adafruit Ultimate GPS Breakout V3" GPS模块和" Arduino UNO R3"
这是我的代码。我试过了两个
::: First Code :::
#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);
}
}
}
:::第二代码:::
#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());
}
}
答案 0 :(得分:1)
您使用的是哪些针脚?第一个代码显示2&amp; 3,但第二个代码显示3&amp; 4。请记住,GPS TX引脚转到Arduino RX引脚。同样,GPS RX引脚转到Arduino TX引脚。对于第一个代码,GPS TX引脚应连接到Arduino引脚2。
你在里面吗?您可能必须在外面,或者至少在某些窗口附近,GPS设备才能从卫星接收。第一次修复可能需要15分钟。虽然您没有显示任何输出,但您应首先尝试一个简单的回声程序,以查看GPS设备是否正在发送任何。
#include <NeoSWSerial.h>
NeoSWSerial gpsSerial( 2, 3 );
void setup()
{
Serial.begin( 9600 );
gpsSerial.begin( 9600 );
}
void loop()
{
if (gpsSerial.available())
Serial.write( gpsSerial.read() );
}
我还建议您使用NeoSWSerial库。它是我的库,它比SoftwareSerial
更有效,更可靠。