Leyendo datos del GPS

Con el Autonomo vamos a ser capaces de detectar la posición y la hora real usando el Shield GPS – Grove. Para usarlo solo tendremos que conectar el GPS a la conexión que pone D0 D1  3V3 GND, es mediante estos pines D0 D1 por donde tendremos acceso al puerto Serial del Autonomo, recordar que el puerto que usamos a través del cable USB es el puerto SerialUSB.

Autonomo con GPS

Conectaremos el GPS al autonomo como en la imagen utilizando el cable que viene con el GPS.

Lo primero que haremos es ver que es lo que está haciendo el GPS, para ello vamos a usar un pequeño programa de “repetidor”, abrimos

Archivo >>> Ejemplos >>> 04. Communication >> MultiSerial

En el archivo que se abre cambiaremos como siempre todas las entradas Serial1 por SeriaUSB. Este programa lo que va a hacer es enviar a traves del cable USB todo lo que reciba del GPS, así, una vez cargado, abriendo Herramientas>> Monitor Serie podremos ver las cadenas de caracteres que envía el modulo GPS. Algo del estilo:

Monitor Serie GPS

Estas retahílas de caracteres son lo que se conoce como NMEA, es un formato estándar que todos los fabricantes de GPS utilizan para comunicar los datos recibidos. Podéis leer más sobre el estándar aquí: http://gpsworld.com/what-exactly-is-gps-nmea-data/

Pero se puede ver como dentro de cada una de las lineas podemos intuir que nos está diciendo la hora, la latitud, longitud, etc.

Como es difícil interpretar directamente esos datos utilizaremos una librería de Arduino que nos permite convertir esas cadenas de caracteres en valores fácilmente interpretables: TinyGPSplus. Tendremos que descargar el archivo .zip de la última versión e instalarlo manualmente en nuestro ordenador. Una vez descargado el archivo .zip vamos al programa de Arduino:

Programa >>> Incluir librería >>> Añadir Librería ZIP

y escogemos el archivo .zip que nos acabamos de descargar.

Ya podemos ir a Archivo >>> Ejemplos >>> TinyGPSPlus-0.94b >> DeviceExample

Debido a que los puertos serie del Autonomo son algo diferentes que los del Arduino tendremos que cambiar algunas cosas de éste programa.

Lo primero como siempre, cambiar todos los “Serial.” por “SerialUSB.” 

Luego cambiaremos todos los “ss.” por “Serial.”

También eliminaremos las línea 

#include <SoftwareSerialUSB.h>

y la línea:

SoftwareSerial ss(RXPin, TXPin);

Y por último cambiaremos la velocidad de comunicación del puerto serie poniendo:

static const uint32_t GPSBaud = 9600;

en vez del valor de 4800 que viene por defecto.

Listo, una vez hecho ésto ya podemos subir el código y abrir el Monitor Serie para ver que leemos del GPS.

captura-de-pantalla-de-2017-02-02-152323

Ya tenemos nuestra cadena de caracteres con posición y fecha hora. Ahora tenemos que combinarlo con nuestro código del RTC+Temp+SDcard ….

 

Leyendo datos del GPS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *