Étape 6: Un simple GPS-LOGGER en INTERFACE avec GOOGLE EARTH
Nous pouvons importer puis le GPS. Fichier de LOG dans Google Earth et produire des cartes superposées avec votre trackpoints connecté. Veuillez consulter mon tutoriel de LS20031 GPS sur comment importer un fichiers de journaux GPS NMEA brut dans Google Earth.
Vous pouvez également importer ce fichier NMEA dans Excel sous forme de fichier texte délimité par des virgules et le reformater pour GPSvisualizer.com à dessiner des cartes avec les trackpoints et bien plus encore. Plus à ce sujet dans les prochaines sections.
=== PROGRAMME DE DÉPART ===
/*
PROJET : Un simple GPS-Logger
Développeur : Hazim Bitar (techbitar arobase gmail point com)
DESCRIPTION : Ce programme enregistre les données de localisation GPS partout où vous allez et enregistre sur la carte SD comme données brutes de NMEA à importer dans Google Earth.
LICENCE : je suis placer ce code dans le domaine public
DATE : 17 NOVEMBRE 2012
*/
#include < SD.h >
#define LED 8 / / statut LED pour les opérations de SD
#define BUFF_MAX 100 / / taille de tampons GPS & SD
Fichier GPSlog ;
void setup()
{
Serial.Begin(4800) ; Le récepteur GPS de LS20031 doit être défini sur 4800 pour programme fonctionne
pinMode (sortie 10,) ; Par notes de SD de bibliothèque, broche 10 doit être définie à la sortie
pinMode (LED, sortie) ;
if (!. SD.begin(4)) {/ / SD carte détectée ?
digitalWrite(LED,LOW) ; Éteignez staus LED si SD détection échoue
retour ;
}
d’autre digitalWrite (LED, haute) ; LED s’allume si la détection de la SD est OK
GPSlog = SD.open (« GPS.log », O_CREAT | O_WRITE) ; ouvrir/ajouter à un fichier GPS.log
if (!. GPSlog) {/ / test si le fichier peut être ouvert
digitalWrite(LED,LOW) ; éteindre la LED de statut si échec du fichier ouvert
retour ;
}
d’autre digitalWrite (LED, haute) ; VOYANT d’État s’allume si le fichier ouvert est OK
}
void loop()
{
inBuffer Char [BUFF_MAX] ; tampon utilisé pour lire des lignes NMEA du GPS
outBuffer octet [BUFF_MAX] ; tampon utilisé pour écrire les lignes NMEA sur carte SD
int sizeBuffer = 0 ; compteur du nombre de caractères par ligne
tandis que (Serial.available() > 0) / / si les données séries de GPS
{
sizeBuffer = Serial.readBytesUntil ('\n', inBuffer, BUFF_MAX) ; lire une seule ligne NMEA GPS jusqu’en fin de ligne
pour (int i = 0; i < BUFF_MAX; i ++) outBuffer [i] = inBuffer [i] ; créer le fichier CSV sur le DD
int j = 0 ;
Si {(GPSlog)
GPSlog.write (outBuffer, sizeBuffer) ; écrire la sortie NMEA GPS sur carte SD
GPSlog.print("\r\n") ;
GPSlog.flush() ;
digitalWrite (LED, haute) ; Garder allumée tant que l’enregistrement SD fonctionne.
}
else {}
Si le fichier n’a pas ouvert, éteignez LED
digitalWrite (LED, faible) ; Éteignez LED en cas d’échec de l’écriture dans le fichier
}
}
}
// ================ END PROGRAM =====================