8.14.2010

GPS!

So I finally took the plunge and purchased a GPS module. After reading through Sparkfun's GPS buying guide I decided to go with their favorite, the SUP500F.



I was hoping it would be easy enough to get up and running pretty quickly but robust enough that I could grow into its many features.

After tinkering off and on for about a day and a half (and reading many, many, many blog posts) I finally started getting NMEA sentences output to my Arduino.

So I am a little disappointed in the SUP500F's ability to get a fix and even more disappointed that once it does get a fix the GPS data for longitude and latitude is not even close to pinpointing my correct location (like not even the correct town?!).

So I am hoping that some of this can be remedied by either changing some settings on the SUP500F and/or using a Level Translator to make sure the serial connection between the unit and the Arduino is more electrically correct.

If all else fails I have seen where Sparkfun has run into some troubles with these units (SUP500F blog post.....scroll near bottom) and in some cases have either replaced or refunded the SUP500F for a customer.

So the verdict on the SUP500F module is not decided but it's not looking very good.

Most of the sketches I saw used the NewSoftSerial Library for the serial connection to the GPS so I downloaded it to my Arduino library folder and included it in my sketch.

Here is the simple sketch I used to start talking to my Arduino:


/**************************************************
GPS_Test
Kyle Kuepker
14 August 2010

A simple sketch to test my SUP500F. I use the
NewSoftSerial library for the serial connection.
***************************************************/

#include 'newsoftserial.h'

#define GPXRS 3
#define GPSTX 2
#define GPSBAUD 9600

NewSoftSerial nss(GPXRS, GPSTX);

void setup()
{
StartTime = millis();
nss.begin(GPSBAUD);
Serial.begin(9600);
Serial.println("Connected to Arduino");
}

void loop()
{
while (nss.available())
{
Serial.print(nss.read(), BYTE);
}
}


Next step is to insert some timer functionality and get some data on how long it takes to get a GPS fix with the unit. That way if I do want to go back to Sparkfun and try to return or replace my unit I will have some valid data to back up my claims.

No comments:

Post a Comment