Hoy en día los sistemas de posicionamiento global y localización satelital se encuentran en cualquier dispositivo electrónico, por ejemplo, relojes, telefonos celulares, tabletas electrónicas, juguetes y muchos más, pero, como obtener información de estos dispositivos? para que otras cosas se pueden utilizar? imaginemos crear un dispositivo que envía la localización de un robot por medio de ondas de radio o recibir la ubicación de un avión no tripulado para saber en donde se encuentra en tiempo real, éstas son algúnas de las posibilidades y el límite es la imaginación de cada diseñador, apoyándose en entornos de desarrollo amigables como Arduino, es posible crear una de éstas aplicaciones gastando muy poco tiempo y dinero.

Basaremos éste tutorial en el módulo GPS UBLOX NEO, el cual es un receptor GPS monolítico, éste componente es muy común encontrarlo ya montado en un módulo junto con su antena y conexiones de alimantación y datos como lo mostramos a continuación:SKU32

 En el módulo se puede ver el chip GPD al centro, del lado izquierdo la antena y las conexiones del lado derecho, el módulo se alimenta con 5Vcc, y está configurado para mandar datos de lso satélites GPS cada segundo, ésta configuración puede modificarse por medio de un software que puede descargarse desde el sitio web del fabricante.

El módulo, como se mencionó anteriormente, una vez que encuentre los satélites GPS necesarios para calcular la ubicación, empezará a mandar los datos de forma serial, éstos datos pueden leerse directamente desde una computadora con un convertidor USB- Serial como se muestra a continuación:
 
Para empezar nesecitaremos 3 componentes básicos:
  • Una fuente de alimentación de 5 volts
  • Un módulo GPS UBLOX NEO (puedes conseguirlo en nuestra tienda)
  • Un convertidor USB a serial TTL (asegúrate que sea compatible con tu versión de windows, muchos no funcionan con windows 7, 8 o 10, puedes conseguir el tuyo en nuestra tienda)

 DSC00601

De izquierda a derecha, Fuente de alimentación, Módulo GPS UBLOX NEO con antena y por último un convertidor USB a Serial TTL compatible con windows 10 64 bits.

Utilizando el entorno de programación de arduino, el cual cuenta con un monitor serie, podemos obtener los datos que el módulo GPS está enviando, solo tenemos que realizar los siguientes pasos:

Conectamos el convertidor USB- Serial a la computadora y esperamos a que lo reconosca (son genéricos no necesita que le instalemos drivers lo hace automáticamente si hay algun problema puede que no sean compatibles)
Una vez conectado abrimos el IDE de Arduino, vamos a Herramientas y buscamos el puerto en el que nuestro convertidor se encuentra conectado y lo seleccionamos, en el mismo menú, podemos ver la opción de Monitor Serie, después de seleccionar el puerto damos click en esa función, al hacerlo el monitor serie de Arduino se mostrará en el monitor.

confpuerto

 

Conectamos el módulo GPS al convertidor serie, en éste caso, el convertidor USB- Serial ya cuenta con conexiones para la alimentación, es decir, extrae los 5 volts de la computadora por lo que nos podemos ahorrar la fuente de alimentación.

DSC00607

Convertidor USB-Serial conectado al módulo GPS, los cables rojo y negro son la alimentación de 5 Volts que el convertidor extrae de la computadora, el cable verde (TX) transmite datos desde la computadora al módulo y debe conectarse en el puerto RX del receptor, el cable blanco (RX) recibe datos del módulo y los lleva a la computadora, se conecta en la terminal TX del módulo.

Terminando la conexión, el monitor serie del Arduino mostrará datos provenientes del módulo GPS, sin embargo, debemos de esperar unos minutos para que el módulo encuentre satelites GPS disponibles, los datos que se muestran durante el proceso pueden ser incorrectos o solo mostrar campos con comas.

info

DSC00611En éstos datos provenientes del módulo GPS, se pueden ver muchas comas (,) en las cadenas de datos debido a que no se han encontrado satélites GPS disponibles, normalmente éste proceso puede durar de uno a 3 minutos, el módulo cuenta con un led verde, cuando ya ha encontrado satélites y los datos ya son aceptables, éste led parpadeará cada que se envíen datos por el puerto serial.

 

 
 En la siguiente imagen se pueden ver ya todas las cadenas de datos enviadas por el módulo GPS hacia el puerto serial todas las cadenas de datos empiezan con el caracter $
 
datos

Para la entrega de datos el módulo utiliza un protocolo llamado NMEA (National Marine Electronics Association) consulta el manual del dispositivo par auna descripción detallada de cada parámetro. Los parámetros se encuentran separados por comas unos de otros, por lo que es fácil reconocerlos y saber donde empieza y termina cada uno.

Comunicación con Arduino:
Para Arduino ya se cuenta con una librería que simplifica el trabajo, puesto que solo se necesita declarar algunas variables y podemos tener la posición del módulo GPS en cuestión de minutos.
Baja la librería para éste y otros módulos GPS Aquí