GPS Arduino: para localización y posicionamiento

GPS Arduino

Con la placa de desarrollo Arduino se pueden realizar multitud de proyectos, el límite muchas veces es la imaginación. Con los componentes electrónicos y módulos, se pueden ir agregando funcionalidades para que pueda hacer mÔs cosas. Una de esas funcionalidades puede ser la capacidad de ubicar objetos o personas, o localizar mediante posicionamiento con GPS Arduino.

Este tipo de posicionamiento y trazamiento se puede hacer mediante RFID o receptores como el que vamos a tratar en este artƭculo. Con ello podrƔs crear multitud de proyectos, desde juegos con los que crear un detector y localizar objetos, hasta localizar objetos robados, pasando por poder ubicarte usando un GPS, etc.

Módulo GPS Arduino NEO-7

NEO-6 GPS Arduino

Para disponer de GPS Arduino, puedes usar los dispositivos NEO-6, una familia fabricada por U-Blox y que pueden ser conectados a la placa Arduino de una forma sencilla. AdemÔs, poseen una interfaz de comunicación completa, con UART, SPI, I2C, y USB, ademÔs de soportar protocolos NMEA, UBX binary y RTCM.

AdemƔs, este GPS Arduino con NEO-6 tambiƩn permite minimizar el tamaƱo de tu proyecto, ya que tiene un pequeƱo tamaƱo, asƭ como un reducido coste. En cuanto al consumo, tambiƩn es pequeƱo. Cuando se encuentra en modo activo, solo necesitarƔ 37mA. Se alimenta mediante 2.7 a 3.6V para los modelos NEO-6Q y NEO-6M, mientras que existen otros de menor voltaje llamados NEO-6G que solo necesitan entre 1.75 y 2v.

Si se encuentran integrados en un módulo, incluirÔn un regulador de voltaje que permitirÔ alimentarlo directamente desde la conexión 5v de Arduino
.

Otros parÔmetros interesantes de este módulo son:

  • Los 30 segundos de tiempo de encendido en frĆ­o, y tan solo 1 segundo para el encendido en caliente.
  • La frecuencia mĆ”xima de medición a la que funcionan es de tan solo 5Hz.
  • Precisión de la posición de 2.5 metros de variación.
  • Precisión de velocidad de 0.1 m/s.
  • Variación de orientación de solo 0.5Āŗ.

Dónde comprar un NEO-6 para GPS Arduino

Puedes encontrar estos dispositivos y módulos en multitud de tiendas de electrónica especializadas, o también en Amazon. Por ejemplo, aquí puedes adquirirlo a un precio muy barato:

Ejemplo con Arduino

Captura de pantalla de Arduino IDE

Puedes aprender mÔs sobre programación con Arduino con el curso en PDF gratis que podrÔs descargar desde aquí.

Lo primero que debes hacer para acoplarlo a tu placa de desarrollo y disponer de tu GPS Arduino es conectar tu módulo NEO-6 a la placa. Las conexiones se realizan de forma muy simple (conexiones módulo NEO-6 – conexiones Arduino):

  • GND – GND
  • TX – RX (D4)
  • RX – TX (D3)
  • Vcc – 5V

Una vez ya lo tienes conectado, también tendrÔs que descargar la biblioteca SoftSerial en tu Arduino IDE, ya que serÔ necesaria para la comunicación serie. Es probable que ya la tengas de otros proyectos, pero si no es así la tendrÔs que descargar e instalar en tu IDE.

Una vez hecho eso, ya puedes comenzar con tu código sencillo para realizar las lecturas. Por ejemplo, como se pueden usar varios protocolos, aquí tienes el sketch para NMEA:


#include <SoftwareSerial.h>

const int RX = 4;
const int TX = 3;

SoftwareSerial gps(RX, TX);

void setup()
{
   Serial.begin(115200);
   gps.begin(9600);
}

void loop()
{
   if (gps.available())
   {
      char data;
      data = gps.read();
      Serial.print(data);
   }
}

Por supuesto, puedes hacer tus modificaciones o usar otros protocolos si lo deseas… TambiĆ©n puedes hacer uso de los ejemplos disponibles en tu IDE para esta biblioteca. Pero, antes de dar por finalizado el artĆ­culo, deberĆ­as saber que el formato NMEA (National Marine Electronics Asociation) es muy particular, para comprenderlo, tienes que conocer su sintaxis:

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,v.v,x.x,ddmmyy,m.m,a*hh

Es decir, $GPRMC va seguido de una serie de parÔmetros que indican la localización:

  • hhmmss.ss: es la hora UTC en horas, minutos y segundos.
  • A: estado del receptor, siendo A=OK y V=alerta.
  • llll.ll,a: es la latitud, donde a puede ser N o S, para norte o sur.
  • yyyy.yy,a: es la longitud. Nuevamente a puede ser E o W, es decir, este u oeste.
  • v.v: la velocidad en nudos.
  • x.x: es el curso en grados.
  • ddmmyy: es la fecha UTC, en dĆ­as, meses y aƱo.
  • m.m,a: es la variación magnĆ©tica en grados, y la a puede ser E o W para este u oeste.
  • *hh: Checksum o suma de verificación.

Por ejemplo, podrĆ­as obtener algo asĆ­:

$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68


Comienza la conversación

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarÔn los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.