Paso 6: Un simple GPS LOGGER interfaz con GOOGLE EARTH
Luego podemos importar el GPS. Archivo de registro en Google Earth y generar mapas con tus puntos de seguimiento registrados. Por favor vea mi tutorial GPS LS20031 sobre cómo importar un raw logs NMEA GPS a Google Earth.
También puede importar este archivo de registro NMEA a Excel como un archivo de texto delimitado por comas y formatearla para GPSvisualizer.com a dibujar mapas con puntos de seguimiento y mucho más. Más sobre este tema en las siguientes secciones.
=== PROGRAMA START ===
/*
Proyecto: Un simple GPS registrador de
Desarrollador: Hazim Bitar (techbitar arroba gmail punto com)
Descripción: Este programa registra la información de ubicación GPS dondequiera que vaya y se guarda en la tarjeta SD como CRUDOS datos NMEA para ser importado en Google Earth.
Licencia: estoy colocando este código en el dominio público
FECHA: 17 DE NOVIEMBRE DE 2012
*/
#include < SD.h >
#define LED 8 / / LED de estado de operaciones del SD
#define BUFF_MAX 100 / / tamaño de búferes de GPS-SD
Archivo GPSlog;
void setup()
{
Serial.Begin(4800); El receptor GPS LS20031 debe establecerse en 4800 para el programa a trabajar
pinMode (10, salida); Por notas de la biblioteca de SD, pin 10 debe establecerse a la salida
pinMode (LED, salida);
if (!. ¿SD.Begin(4)) {/ / detecta tarjeta SD?
digitalWrite(LED,LOW); Apagar LED de status si no detección de SD
retorno;
}
Else digitalWrite (LED, alta); enciende el LED si detección de SD está bien
GPSlog = SD.open ("GPS.log", O_CREAT | O_WRITE); abierto/anexar a un archivo GPS.log
if (!. GPSlog) {/ / comprobar si el archivo se puede abrir
digitalWrite(LED,LOW); Apagar el LED de estado si no puede abrir archivo
retorno;
}
Else digitalWrite (LED, alta); encender LED de estado si el archivo abierto es aceptable
}
void loop()
{
char inBuffer [BUFF_MAX]; buffer utilizado para leer líneas NMEA del GPS
outBuffer Byte [BUFF_MAX]; buffer utilizado para escribir líneas NMEA a la tarjeta SD
int sizeBuffer = 0; contador de cuántos caracteres por línea
mientras que (Serial.available() > 0) / / si los datos en serie de GPS
{
sizeBuffer = Serial.readBytesUntil ('\n', inBuffer, BUFF_MAX); Lee una línea NMEA del GPS hasta final de línea
para (int i = 0; i < BUFF_MAX; i ++) outBuffer [i] = inBuffer [i]; crear archivo CSV en SD
int j = 0;
Si (GPSlog) {}
GPSlog.write (outBuffer, sizeBuffer); Escribe salida NMEA del GPS a la SD
GPSlog.print("\r\n");
GPSlog.flush();
digitalWrite (LED, alta); Mantener el LED tanto registro de SD está trabajando.
}
Else {}
Si el archivo no abre, apagar LED
digitalWrite (LED, baja); Apagar LED si falla de escritura en archivo
}
}
}
// ================ END PROGRAM =====================