GPS SKM53 Coordinate non corrette

Ciao a tutti,
sto provando ad utilizzare un gps skm53. Il codice è:

/*
This Sketch will run with the SkyNav SKM53 GPS 
RXD Arduino Pin 11
TXD Arduino Pin 12
RST Leave Open 
NC Leave Open
GND Ground
VCC +5
Make sure you download and save to your Arduino/Libraries folder TinyGPS.h
and NewSoftSerial.h files.
*/

#include <TinyGPS.h>
#include <SoftwareSerial.h>

unsigned long fix_age;

SoftwareSerial GPS(12,11);
TinyGPS gps;
void gpsdump(TinyGPS &gps);
bool feedgps();
void getGPS();
long lat, lon;
float LAT, LON;

void setup(){
 GPS.begin(9600);
 Serial.begin(9600);
}

void loop(){
 long lat, lon;
 unsigned long fix_age, time, date, speed, course;
 unsigned long chars;
 unsigned short sentences, failed_checksum;

 // retrieves +/- lat/long in 100000ths of a degree
 gps.get_position(&lat, &lon, &fix_age);

 getGPS();
 Serial.print("Latitude : ");
 Serial.print(LAT/1000000,7);
 Serial.print(" :: Longitude : ");
 Serial.println(LON/1000000,7);
}

void getGPS(){
 bool newdata = false;
 unsigned long start = millis();
 // Every 1 seconds we print an update
 while (millis() - start < 1000)
 {
   if (feedgps ()){
     newdata = true;
   }
 }
 if (newdata)
 {
   gpsdump(gps);
 }
}

bool feedgps(){
 while (GPS.available())
 {
   if (gps.encode(GPS.read()))
     return true;
 }
 return 0;
}

void gpsdump(TinyGPS &gps)
{
 //byte month, day, hour, minute, second, hundredths;
 gps.get_position(&lat, &lon);
 LAT = lat;
 LON = lon;
 {
   feedgps(); // If we don't feed the gps during this long routine, we may drop characters and get checksum errors
 }
}

Il problema è che mi restituisce, dopo molto che è acceso, le coordinate:

LAT: 41.883312 - LON: 0.2100000

Queste coordinate risultano vicino barcellona, e non in italia.

Oppure

LAT: 0.000000 - LON: 0.2170000

In cosa sbaglio?

**@shuttle78: **ti ricordo che in conformità al regolamento, punto 7, devi editare (in basso a destra del post, bottone More -> Modify) il tuo post e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie

Guglielmo

si hai ragione, mi ero scordato di farlo

A parte il fatto che sono coordinate assurde per un GPS in Italia, secondo Microsoft Autoroute sono quelle di Monzón Huesca Spagna, se consideriamo solo la latitudine è quella di Roma.
Se sta usando il GPS dentro casa è normale ottenere coordinate sbagliate.

... controlla sul datasheet del GPS il formato delle coordinate che restituisce perché NON è detto che sia il formato che i programmi tipo Google Maps, ecc. si aspettano.

Ad esempio, il SIM800 ritorna le coordinate con il seguente formato: dddmm.mmmmmm che va opportunamente convertito.

Guglielmo

anche questo restituisce le coordinate di tipo ddmm.mmmm, il problema è che mi ritorna sempre 0.00000 e l'altra coodinata 0.200000.

La misura è fatta all'aperto.

Collegalo direttamente al pc, tramite un adattore USB-UART, e verifica il contenuto delle stringhe NMEA, se le coordinate che rende sono effettivamente quelle è altamente probabile (99%) che il tuo GPS funziona male.

Hai letto il datasheet nel punto che dice ...

The RXD0 & TXD0 recommended to pull up (10KΩ). It can increase the stability of serial data.

... hai messo le pull-up indicate ?

Guglielmo

si l'ho letto e non le ho messe, stasera provo con le 2 resistenze e ci metto anche il condensatore da 100uf.

ti faccio sapere