Estimados,
Estoy trabajando con el módulo GPS NEO-6M y la librería TinyGPS.
Al GPS lo he conectado a los pines 1 y 0, con un programa vacío y envía los datos periódicamente cada 1 segundo correctamente.
El problema que tengo es que, cuando intento parsear los datos con la librería y ya con los pines RX y TX conectados al Serial3, obtengo datos únicamente al abrir el Monitor Serie y sólo 1 vez, luego repite el mismo dato.
He notado que al abrir el Monitor Serie "parpadea" el led "L", por lo tanto entiendo que en este momento de apertura del Monitor el GPS recibe algún mensaje y luego envía los datos.
Adjunto código que estoy usando.
#include <TinyGPS++.h>
TinyGPSPlus gps;
void setup() {
Serial.begin(115200);
Serial3.begin(9600);
}
void loop() {
gps.encode(Serial3.read());
if (gps.time.isValid()){
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour()-3);
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F("0"));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.println(gps.time.centisecond());
Serial.print(gps.date.day()); // Day (1-31) (u8)
Serial.print("/");
Serial.print(gps.date.month()); // Month (1-12) (u8)
Serial.print("/");
Serial.println(gps.date.year()); // Year (2000+) (u16)
gps.encode(' ');
}
}
Espero su respuesta,
Muchas gracias,
Saludos.