is there anything to do with rx and tx pin? because both led in my arduino didn't turn on at all (if that is anything to do with this)

from my understanding of this webpage (http://arduino.cc/en/Reference/SoftwareSerial), if i used software serial i need to use pin other than 2 and 3, since "Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69" (quote from the web)

Parses NMEA sentences from an EM406 running at 4800bps into readable values for latitude, longitude, elevation, date, time, course, and speed.

For the SparkFun GPS Shield. Make sure the switch is set to DLINE.

Once you get your longitude and latitude you can paste your coordinates from the terminal window into Google Maps. Here is the link for SparkFun's location. http://maps.google.com/maps?q=40.06477,+-105.20997

Uses the NewSoftSerial library for serial communication with your GPS, so connect your GPS TX and RX pin to any digital pin on the Arduino, just be sure to define which pins you are using on the Arduino to communicate with the GPS module.

// In order for this sketch to work, you will need to download // TinyGPS library from arduiniana.org and put them // into the hardware->libraries folder in your ardiuno directory.#include <SoftwareSerial.h>#include <TinyGPS.h>

// Define which pins you will use on the Arduino to communicate with your // GPS. In this case, the GPS module's TX pin will connect to the // Arduino's RXPIN which is pin 3.#define RXPIN 2#define TXPIN 3//Set this value equal to the baud rate of your GPS#define GPSBAUD 4800

// Create an instance of the TinyGPS objectTinyGPS gps;// Initialize the NewSoftSerial library to the pins you defined aboveSoftwareSerial uart_gps(RXPIN, TXPIN);

// This is where you declare prototypes for the functions that will be // using the TinyGPS library.void getgps(TinyGPS &gps);

// In the setup function, you need to initialize two serial ports; the // standard hardware serial port (Serial()) to communicate with your // terminal program an another serial port (NewSoftSerial()) for your // GPS.void setup(){ // This is the serial rate for your terminal program. It must be this // fast because we need to print everything before a new sentence // comes in. If you slow it down, the messages might not be valid and // you will likely get checksum errors. Serial.begin(115200); //Sets baud rate of your GPS uart_gps.begin(GPSBAUD);

// This is the main loop of the code. All it does is check for data on // the RX pin of the ardiuno, makes sure the data is valid NMEA sentences, // then jumps to the getgps() function.void loop(){ while(uart_gps.available()) // While there is data on the RX pin... { int c = uart_gps.read(); // load the data into a variable... if(gps.encode(c)) // if there is a new valid sentence... { getgps(gps); // then grab the data. } }}

// The getgps function will get and print the values we want.void getgps(TinyGPS &gps){ // To get all of the data into varialbes that you can use in your code, // all you need to do is define variables and query the object for the // data. To see the complete list of functions see keywords.txt file in // the TinyGPS and NewSoftSerial libs.

// Define the variables that will be used float latitude, longitude; // Then call this function gps.f_get_position(&latitude, &longitude); // You can now print variables latitude and longitude Serial.print("Lat/Long: "); Serial.print(latitude,5); Serial.print(", "); Serial.println(longitude,5);

// Here you can print the altitude and course values directly since // there is only one value for the function Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude()); // Same goes for course Serial.print("Course (degrees): "); Serial.println(gps.f_course()); // And same goes for speed Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph()); Serial.println();

Hello, I return on this excellent post and "only one" article on this GPS which I have just bought. I had difficulty to make it speak and it is thanks to you and especially to Paul that I heard the soft music of wefts come from the sky!!! OuahhI shall wish to make two observations and to put two questions.Obs1: on a deck UNO, it is necessary to use pines 0 and 1 otherwise it do not work. P1=Rx; P2=Tx.Obs2; it is impossible to download the shetch (all IDE) without creating of fault if pines 1 and 0 are connected. It is necessary to disconnect pine 0 and the download can take place. Mystery!! see pjQuestion1: it is impossible to use the exitsI2C. I do not know why but it is boring to connect a LCD. What's going on?Question2; I implemented the part necessary for the recording on SD by following the only usable link and offert:Gs_logger. I was not "thrown" but I did not know how to write the program.Can you advise to me there above?I made another sketch work which allows the employment of a LCD 12x2 and a display delayed a part of wefts. I wait for one 20x4 to make better. If it interests somebody!!!

I am French and it is mister Google who made the translation !!! Sorry !!!Thank you

The RX and TX jumpers define which Arduino pins are used to receive from (RX) or transmit to (TX) the GPS, from the Arduino.

If you don't need to talk to the GPS, put the TX jumper in a drawer. If you want the GPS connected to the hardware serial port, put the RX jumper in column 0. If you want to use SoftwareSerial to listen to the GPS, put the RX jumper in column 2,, 3, 4, 5, 6, or 7, and tell SoftwareSerial which pin you selected. Obviously, the RX jumper bridges the RX row and the unlabeled row.

// For one second we parse GPS data and report some key values for (unsigned long start = millis(); millis() - start < 1000;) { while (ss.available()) { char c = ss.read(); // Serial.write(c); // uncomment this line if you want to see the GPS data flowing if (gps.encode(c)) // Did a new valid sentence come in? newData = true; } }

I was hoping someone can help please,I want to Log the data to the on board SD slot on the GPS shieldBut it doesn't seem to log the data to my SD Card Here is my code it is composed between a tutorial from Jerermy Blum and the Sample GPS code,and PaulS's advice

The reason the data is coming up as invalid is because all it is receiving from the GPS is 0xFFFFFFFF which means the GPS is putting out data but it doesn't have enough satellite fixes to output valid data. You can see that the UART is receiving information from the GPS because in your data above you can see the number of characters received go from 173 to 310. Once the GPS gets I believe 4 satellite fixes it will start putting out valid data. Are you testing this inside? Check out this video tutorial....it will help a lot: