#include //para comunicar con el gps #include // para manejar los datos del gps amigablemente TinyGPS gps; //Objeto de tipo TinyGPS SoftwareSerial gpsSerial(4, 3); //RX, TX Objeto para comunicación con gps struct datos { String Copernico="cp"; float latitud; float longitud; } dat; void setup() { Serial.begin(9600); //pc gpsSerial.begin(9600); //gps } void loop() { bool newData = false; unsigned long chars; unsigned short sentences, failed; // Intentar recibir secuencia durante 100 milisegundos for (unsigned long start = millis(); millis() - start < 100;) { while (gpsSerial.available()) { char c = gpsSerial.read(); if (gps.encode(c)) // Nueva secuencia recibida newData = true; } } if (newData) { float flat, flon; unsigned long age; gps.f_get_position(&flat, &flon, &age); //Se pasa la dirección de memoria de las variables dat.latitud=flat; dat.longitud=flon; } // gps.stats(&chars, &sentences, &failed); Serial.println(dat.Copernico); delay(1); Serial.println(dat.latitud, 6); //6 decimales delay(1); Serial.println(dat.longitud, 6); delay(483); }