acquisition données gps

Bonsoir,
Je suis en train de faire un projet qui requière l’acquisition de données gps. Pour cela, j’ai un EM-506 et je me suis fait un petit programme pour récuperer les données mais cela m’affiche des latitude et longitudes égales à pile 1000,000. Voici le programme:
#include <TinyGPS.h>

TinyGPS gps;

void getgps(TinyGPS &gps);

float lat, lon ;

#define RXPIN 1
#define TXPIN 1

void setup() {
// put your setup code here, to run once:
Serial3.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial1.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}

void loop()
{
byte a;
if ( Serial1.available() > 0 ) // if there is data coming into the serial line
{
a = Serial1.read(); // get the byte of data # on lit les données qu’il y a sur le COM1
if(gps.encode(a)) // if there is valid GPS data…
Serial3.write(a); // on écrit sur le port COM3 ce qu’il y a sur le COM1
delay(1000);
{
getgps(gps); // grab the data and display it on the LCD
}
}
}
void getgps(TinyGPS &gps)
// The getgps function will display the required data on the LCD

{
//decode and display position data
gps.f_get_position(&lat, &lon);
Serial3.print(“Lat:”);
Serial3.print(lat,7); // ,7 c’est la précision après la virgule
Serial3.print(" Long:");
Serial3.println(lon,7);
delay(1000); // wait for 1 seconds

}
J’ai mon GPS connecté au COM1 et par le biais de mobule XBee je peux envoyer les infos par wifi. Ce dernier etant sur le COM3. Je ne vois pas mon erreur, si vous pouviez m’aider. Merci d’avance!

bonjour,

#include <TinyGPS.h>

TinyGPS gps;

void getgps(TinyGPS &gps);

float lat, lon ;

#define RXPIN 1
#define TXPIN 1

void setup() {
  // put your setup code here, to run once:
Serial3.begin(9600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
Serial1.begin(9600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
Serial.begin(9600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
}



void loop()
{
byte a;
if ( Serial1.available() > 0 ) // if there is data coming into the serial line
{
a = Serial1.read(); // get the byte of data  # on lit les données qu'il y a sur le COM1
if(gps.encode(a)) // if there is valid GPS data...
Serial3.write(a); // on écrit sur le port COM3 ce qu'il y a sur le COM1
delay(1000);
{
getgps(gps); // grab the data and display it on the LCD
}
}
}
void getgps(TinyGPS &gps)
// The getgps function will display the required data on the LCD

{
//decode and display position data
gps.f_get_position(&lat, &lon);
Serial3.print("Lat:");
Serial3.print(lat,7); // ,7 c'est la précision après la virgule
Serial3.print(" Long:");
Serial3.println(lon,7);
delay(1000); // wait for 1 seconds

}

Désolé je ne savais pas comment ca marchait!!

Bonjour, j'ai exactement le même problème, j'ai fait un petit programme et j'ai les résultats suivant:
Lat/Long: 1000.00000/1000.00000 - Date: 0/0/2000 - 198:96:72.95 - Altitude: 1000000.00 - Speed: -1.00

Quelqu'un a-t-il une solution?

Mon module gps marche pourtant très bien avec l'exemple de la librairie TIny GPS.

Clément

Salut, c'est normale que ton pin RX et TX sont sur 1?

WolfVic:
Salut, c'est normale que ton pin RX et TX sont sur 1?

Bien vu!

et avez vous essayer avec la lib TinyGps++, j'avais eu de meilleurs résultats avec celle ci

Je vais essayer avec Tinygps++ mais c'est les même commandes qu'on utilise?