GPS LACT.DE UG-200

I have an idea. How about you post some code?

I used TinyGPS example and also this code:

#include <NewSoftSerial.h>
#include <TinyGPS.h>

// Si definiscono i pin usati per la comunicazione con Arduino ed il baud rate del modulo GPS
#define RXPIN 3
#define TXPIN 2
#define GPSBAUD 4800

// Viene creata un'istanza all'oggetto TinyGPS
TinyGPS gps;
// Si inizializza la libreria NewSoftSerial utilizzata per la comunicazione con il modulo GPS
NewSoftSerial uart_gps(RXPIN, TXPIN);

// Si dichiara un prototipo per la funzione della libreria TinyGPS.
void getgps(TinyGPS &gps);

void setup()
{
// Si inizializza il modulo UART per la comunicazione con il PC.
Serial.begin(115200);
// Si imposta il baud rate per il modulo GPS
uart_gps.begin(GPSBAUD);

// Testo iniziale inviato dallo sketch verso il PC
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}

// Il loop principale semplicemente aspetta l'arrivo di una sentenza valida dal modulo GPS
// quindi ne estrae le sotto stringhe richieste e le invia al PC

void loop()
{
while(uart_gps.available()) // Aspetta l'arrivo di dati validi
{
int c = uart_gps.read(); // Carica i dati ricevuti nella variabile c
if(gps.encode(c)) // Verifica congruenza dati
{
getgps(gps); // Estrapola le sottostringhe di dati e le invia al PC
}
}
}

void getgps(TinyGPS &gps)
{

// Richiama la funzione che estrapola dalla sentenza i dati relativi alla posizione
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);

// Invia al PC i dati estrapolati
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);

// Richiama la funzione che estrapola dalla sentenza i dati relativi alla data
int year;
byte month, day, hour, minute, second, hundredths;
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);

// Invia al PC i dati estrapolati
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);

// Si può usare una sintassi diretta per inviare al PC i dati estratti
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.println();

// Here you can print statistics on the sentences.
unsigned long chars;
unsigned short sentences, failed_checksum;
gps.stats(&chars, &sentences, &failed_checksum);
//Serial.print("Failed Checksums: ");Serial.print(failed_checksum);
//Serial.println(); Serial.println();
}

And using: Serial.println(uart_gps.read()); I checked what I was reading from the gps module: integers numbers.
As I can see in the code: int c = uart_gps.read(); so the code is waiting for integers numbers but blocked here: if(gps.encode(c))