GPS + Arduino

En esta entrada vamos a ver cómo realizar un GPS Logger con un módulo GPS de la marca Fastrax modelo UP501 y un Arduino Mega.

GPS (Global Positioning System) es un sistema de posicionamiento global constituido por una constelación de 29 satélites orbitando alrededor de nuestro planeta. Forma parte de los denominados “Sistemas Globales de Navegación por Satélite” (acrónimo en inglés GNSS) junto con el sistema Ruso GLONASS, Europeo GALILEO, Chino COMPASS e Indio IRNSS. 

El GPS fue desarrollado por el ejército de los EEUU como sistema de navegación en 1973, integrando ideas de otros sistemas de posicionamiento anteriores (DECCA, LORAN…). En 1995 el sistema queda plenamente operativo y a día de hoy es libre para el uso civil.

OrbitasLos satélites se encuentran en la denominada Órbita Media Terrestre (MEO Medium Earth Orbit) a unos 20.000 km de distancia de la superficie. A esa distancia, son necesarios entre 20 y 30 satélites para otorgar una cobertura global. El objetivo es que en cualquier lugar de la Tierra y en cualquier instante de tiempo, existan al menos 4 satélites a la vista de nuestro receptor. La velocidad media de los satélites es de 14.000km/h resultando un periodo orbital de 12h.

Trilateracion

 ¿Por qué son necesarios 4 satélites? Los satélites envían constantemente información acerca de sus órbitas y del tiempo de sus relojes atómicos.

Nuestro receptor obtiene esa información y mediante Trilateración (véase la imagen de la izquierda) calcula la posición en la que nos encontramos. Una vez el receptor obtiene los datos de los satélites, se sincronizan los relojes de nuestro receptor con los suyos, de forma que podemos calcular el retardo de tiempo con el que nos llegan las señales. Obtenido el retardo y asumiendo que la señal electromagnética viaja a la velocidad de la luz (3E8 m/s), el receptor calcula la distancia con cada satélite.

Para realizar un correcto posicionamiento, nuestro receptor necesita, al menos, la información de 3 satélites. De esta forma se crean tres superficies esféricas de posibles puntos de localización. La intersección de las tres superficies da lugar a dos únicos puntos posibles en el espacio y para determinar cual de ellos es nuestra posición, se hace necesario un cuarto satélite.

Comencemos con el montaje del sistema

Arduino-GPS

 El siguiente paso es conectar el Arduino a tu ordenador e introducir el siguiente código:

Como puedes observar el código es muy sencillo:

1.- Creamos dos puertos serie. El puerto 3 estará dedicado a recuperar los datos de la posición que nos envía el módulo GPS mientras que el puerto 1 servirá para visualizar esos datos en nuestro ordenador.

2.- Una vez inicializados los puertos con sus respectivas velocidades, entramos en un bucle infinito en el que mediante la sentencia condicional “if”, comprobamos si el GPS nos ha aportado algún dato. Si hemos recibido algo del GPS  inmediatamente lo enviamos al ordenador para mostrarlo por pantalla.

Programamos el Arduino con el código anterior y acercamos nuestro receptor GPS a una ventana, cuando el receptor consiga obtener una posición correcta, nos devolverá los datos referentes a nuestra posición, en el siguiente formato:

Este código se denomina protocolo NMEA y consiste en una serie de tramas que aportan distintos tipos de información separados por comas. Por ejemplo, la primera trama $GPRMC nos aporta la siguiente información:

  1. Hora UTC: 21:11:34
  2. A: No hay errores , V:En el caso de existir errores
  3. Latitud: 31º39,5483′
  4. N: Norte
  5. Longitud: 4º43,5822′
  6. W:Oeste
  7. Velocidad en nudos: 0.26
  8. ………

No os perdáis las siguientes entradas donde utilizaremos Google Earth para visualizar las trayectorias obtenidas por nuestro GPS.  ¡Ya veréis que fácil!. Saludos

Summary
Review Date
Reviewed Item
Arduino
Esta entrada fue publicada en Arduino, Electrónica. Guarda el enlace permanente.

4 Respuestas a GPS + Arduino

  1. jose vicente dijo:

    me gustaria saber mucha mas inf si de pronto tiene todo el montaje electronico hecho con motores y programacion

    • Si14 dijo:

      Por motivos personales he tenido que dejar de subir entradas al blog :(. Muchísimas gracias por tu comentario intentaré actualizarlo tan pronto como pueda. Saludos

  2. LUIS FLOREZ dijo:

    EXCELENTE APORTE

Deja un comentario

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