SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By rfmX
#190121
Hello, I have troubles getting the GPS Module work on the MG2639 board:
https://learn.sparkfun.com/tutorials/mg ... okup-guide
The GPRS is working, i just messed up with the GPS.

My main problem is, i don't get the fix LED and i don't recieve coordinates, so here's what i have tried yet:

a. waited over 30 minutes outside, with various antennas
b. changed already the gps antennas and tried:
https://www.sparkfun.com/products/464 Antenna GPS 3V Magnetic Mount SMA
https://www.sparkfun.com/products/177 Antenna GPS Embedded SMA
http://eu.mouser.com/Search/ProductDeta ... 25E070054A Taoglas Antenna
c. changed already the cables
d. changed the whole module MG2639
e. I also tried to add an Adafruit Ultimate GPS Module to the ports 10,11 and with it i got a signal after 2- 5 mins.

Thats the code i working with:
Code: Select all
#include <TinyGPS++.h>
#include <SFE_MG2639_CellShield.h>
TinyGPSPlus gps;

#include <AltSoftSerial.h>
AltSoftSerial ss;

void setup()
{
  Serial.begin(9600);
  ss.begin(9600);
ss.print( F("$PMTK251,38400*27\r\n") );
ss.end();
ss.begin( 38400 ); // change to match above command
  Serial.println(F("Start:"));
}


void loop()
{
  
  // This sketch displays information every time a new sentence is correctly encoded.
  while (ss.available() > 0)
    if (gps.encode(ss.read()))
      displayInfo();

}

void displayInfo()
{
  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();
}
Did anyone ever got this to work?