Hi guys, I would like to ask you for help or advice.
I am using Arduino Nano, Neo-6M gps module (with square antena) and TinyGPS++ lib.
And I have 3 issues: 1. when I try to get data from module I am getting data issue (FailedCheckSum), overflowed and dont get any satelites numbers, precision, altitude and etc.
Interesting part is that raw data I can read that I get satellites and precision, but with TinyGPS++ lib. cannot decode them.
(mode in screenshots and code bellow)
2. I would like to ask you how to implement that I will get data just when I ask for them and not everytime in loop.
Strange to explain, but i read that its not good to use delay in case of receiving data from GPS. I know that I cannot use delay in this case because it breaking consistency of data.
Want to ask for data,
receive them,
process them (use just few information), do even another stuff like saving to SD card or what ever.
after process, decide when will be next “asking for data” (in one minute, in 5sec, or 1 hour)
3. Do you have any patter or know how, how to check if the module is moving? Check if you move more than 10m±
Like check position, speed and precision. Save it. And after some time (seconds or minutes) check position again and by precision and position check how far it could “move” or if it can be just issue of precision. I guess that if in 5minutes gps say that you are 2km far its not just precision issue but you really move.
Anyone can gave me some advice or give me some hints what I am doing wrong?
Thank you
getting raw data without TInyGps++ lib and get sat and precision.
#include <SoftwareSerial.h>
// The serial connection to the GPS module
SoftwareSerial ss(5, 4);
void setup(){
Serial.begin(9600);
ss.begin(9600);
}
void loop(){
Serial.println("-------------------------------------------------------------------");
while (ss.available() > 0){
// get the byte data from the GPS
byte gpsData = ss.read();
Serial.write(gpsData);
}
}
Yes, I would also suggest that all that use of Serial.print() whilst software serial is running will cause dropped characters from the GSP, hence the sentences with failed checksums.
NeoSWserial is a lot better at coping in that sort of situation than software serial.
There is a description of the problems with softwareserial here;