Stap 1: Arduino Mega + ultieme GPS Datalogger
Vervolgens gewoon uitgecommentarieerd:
SoftwareSerial mySerial (8, 7);
En toe te voegen:
HardwareSerial mySerial = Serial1;
Serial1 verwijst naar TX1 en RX1
Zorg er ook voor uw code overeenkomt met dit gedeelte:
if (!. SD.begin(chipSelect, 11, 12, 13)) {}
if (!. SD.begin(chipSelect)) {/ / als u van een UNO gebruikmaakt, kunt u deze lijn in plaats daarvan
Serial.println ("Card init. mislukt!");
error(2);
We zijn uiteraard niet met behulp van een Uno voort zulks project.
Dit gedeelte verwijderen:
char * stringptr = GPS.lastNMEA();
uint8_t stringsize = strlen(stringptr);
Als (stringsize! = logfile.write ((uint8_t *) stringptr, stringsize)) //write de tekenreeks naar de SD-bestand
error(4);
als logfile.flush() (strstr (stringptr, "RMC"));
Serial.println();
En vervang het door uw eigen:
logfile.Print ("\nTime:");
logfile.Print (GPS.hour, DEC);
logfile.Print(':');
logfile.Print (GPS.minute, DEC);
logfile.Print(':');
logfile.Print (GPS.seconds, DEC);
logfile.Print('.');
logfile.println(GPS.milliseconds);
logfile.Print ("datum:");
logfile.Print (GPS.month, DEC);
logfile.Print('/');
logfile.Print (GPS.day, DEC);
logfile.Print("/20");
logfile.println (GPS.year, DEC);
logfile.Print ("locatie:");
logfile.Print (GPS.latitude, 4);
logfile.Print(GPS.lat);
logfile.Print (",");
logfile.Print (GPS.longitude, 4);
logfile.println(GPS.Lon);
logfile.Print ("snelheid (knopen):");
logfile.println(GPS.speed);
logfile.Print ("hoek:");
logfile.println(GPS.Angle);
logfile.Print ("hoogte:");
logfile.println(GPS.Altitude);
logfile.Print ("satellieten:");
logfile.println((int)GPS.Satellites);
logfile.Flush();
Serial.println("success.");
Uw resultaten zullen als volgt uitzien:
Tijd: 19:24:4.0
Datum: 4/6/2014
Locatie: XXXX. XXXXN, XXXX. XXXXW
Snelheid (knopen): 0.79
Hoek: 118.05
Hoogte: 118.80
Satellieten: 6
Dit schrijft uit een vrij gemakkelijk te lezen txt bestand welke alleen kan worden genoeg voor sommige. Als u uw bestand omzetten in een GPS-bestand wilt, hebt u te formatteren in iets een beetje anders. Ik koos door lijstscheidingstekens gescheiden waarden (CSV), omdat het is gemakkelijk om mee te werken. Gewoon schrijven de gegevens in een leeg Kladblok met behulp van komma's aan elke kolom verdeeld.