Try this -
#include "TinyGPS++.h"
#include "SoftwareSerial.h"
SoftwareSerial serial_connection(2, 3); //RX=pin 10, TX=pin 11
TinyGPSPlus gps;//This is the GPS object that will pretty much do all the grunt work with the NMEA data
/ For stats that happen every 5 seconds
unsigned long last = 0UL;
void setup()
{
Serial.begin(9600);//This opens up communications to the Serial monitor in the Arduino IDE
serial_connection.begin(9600);//This opens up communications to the GPS
Serial.println("GPS Start");//Just show to the monitor that the sketch has started
}
void loop()
{
while (serial_connection.available() > 0) //While there are characters to come from the GPS
gps.encode(serial_connection.read()); //This feeds the serial NMEA data into the library one char at a time
if (gps.location.isUpdated()) //This will pretty much be fired all the time anyway but will at least reduce it to only after a package of NMEA data comes in
{
//Get the latest info from the gps object which it derived from the data sent by the GPS unit
Serial.println("Latitude:");
Serial.println(gps.location.lat(), 6);
Serial.println("Longitude:");
Serial.println(gps.location.lng(), 6);
}
else if (gps.satellites.isUpdated())
{
Serial.println("Satellite Count:");
Serial.println(gps.satellites.value());
}
else if (gps.speed.isUpdated())
{
Serial.println("Speed MPH:");
Serial.println(gps.speed.mph());
}
else if (gps.altitude.isUpdated())
{
Serial.println("Altitude Feet:");
Serial.println(gps.altitude.feet());
Serial.println("");
}
}
NOTE, there are examples for this library, good luck.