Haga clic para más productos.
No se encontraron productos.
Búsqueda de blogs
Artículos Recientes
Últimos comentarios

Tutorial Módulo GPS con Arduino

175653

El módulo GPS en su modelo GY-GPS6MV2 viene con un módulo de serie U-Blox NEO 6M  equipado en el PCB, una EEPROM con configuración de fábrica, una pila de botón para mantener los datos de configuración en la memoria EEPROM, un indicador LED y una antena cerámica. También posee los pines o conectores Vcc, Rx, Tx y Gnd por el que se puede conectar a algún microcontrolador mediante una interfaz serial. Para que nuestro módulo GPS funcione a la perfección se recomienda hacer las pruebas en un ambiente abierto o cercano a la ventana para una correcta recepción de la señal.   

   Bien, ahora vamos a probar nuestro módulo conectándolo a nuestro Arduino (en este caso se usará un Arduino UNO) mediante un puerto serie que se emulará por Software ya que usaremos el Rx0 y TX0 (puerto serie por Hardware) para la comunicación con nuestra PC y así verificar los datos que recibimos por el módulo GPS.


Vamos a realizar las conexiones que se muestran en la siguiente imagen o seguir los pasos que se describen a continuación:

- Conecte el pin 3.3V del Arduino UNO al pin Vcc del módulo GPS.
- Conecte el pin GND del Arduino UNO al pin GND del módulo GPS.
- Conecte el pin digital 4 del Arduino UNO al pin Tx del módulo GPS.
- Conecte el pin digital 3 del Arduino UNO al pin Rx del módulo GPS.

 

Conexiones GPS y Arduino     

  

Cabe indicar que nuestro módulo GPS también se puede alimentar con una tensión de 5V ya que posee un regulador integrado dentro de sí.

A continuación, cargaremos el siguiente código a nuestro Arduino, en el cual se puede apreciar que se emplea la librería SoftwareSerial para emular un puerto serie como se mencionó anteriormente (no es necesaria instalarla, ya que viene por defecto en nuestro IDE de Arduino).

 

#include <SoftwareSerial.h>

SoftwareSerial gps(4,3);

char dato=' ';

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


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

Como podemos ver, lo que hace nuestro programa es leer constantemente el módulo GPS a una velocidad de 9600 baudios que es la velocidad por la que viene configurado por defecto nuestro módulo GPS y  enviar dichos datos a la PC a través del puerto serie físico para poder visualizarlos en nuestro Monitor Serial. Al abrir nuestro Monitor Serial, nos aseguramos de configurarlo a una velocidad de 115200 baudios. Podremos ver los datos que recibimos.

   

Monitor Serial GPS 

  

Los datos que recibimos en nuestro módulo GPS siguen el protocolo NMEA (siglas de National Marine Electronics Asociation), las cuales son sentencias estándares para la recepción de datos GPS. Una de ellas y la más usada son las sentencias $GPRMC, las cuales tienen la siguiente estructura:

  

$GPRMC,044235.000,A,4322.0289,N,00824.5210,W,0.39,65.46,020615,,,A*44

Donde si analizamos la trama de este ejemplo y basándose en el protocolo NMEA, podríamos determinar las siguientes variables:

- 044235.000 representa la hora GMT (04:42:35)
- “A” es la indicación de que el dato de posición está fijado y es correcto. “V” sería no válido
- 4322.0289 representa la longitud (43º 22.0289´)
- N representa el Norte
- 00824.5210 representa la latitud (8º 24.5210´)
- W representa el Oeste
- 0.39 representa la velocidad en nudos
- 65.46 representa la orientación en grados
- 020615 representa la fecha (2 de Junio del 2015)
 

Como vimos, de la trama de datos que nos envía nuestro módulo GPS podemos obtener varias variables, siendo las importantes para proyectos de posicionamiento la latitud y la longitud. Para ello, vamos a hacer uso de la librería TinyGPS que la podemos descargar de aquí:

https://github.com/mikalhart/TinyGPS

Recuerde que una vez descargada la Libreria, tenemos que importarla copiándola en la carpeta “Libraries” donde se instaló nuestro IDE de Arduino y luego reiniciar el programa para que sea cargada correctamente. La librería TinyGPS nos facilitará la identificación tanto de la latitud y longitud, así como las otras variables descritas anteriormente sin tener que recurrir a algoritmos complejos para lograr obtenerlas. Para ello ejecutamos un sencillo ejemplo que nos provee la librería, para lo cual nos vamos a Archivo/Ejemplos/TinyGPS/simple_test en nuestro IDE de Arduino.

  
A continuación, nos aseguramos de cambiar la velocidad de lectura del puerto serie emulado a 9600 baudios y cargamos nuestro código a nuestra tarjeta Arduino.

     

 Sketch GPS

     

Finalmente, podremos abrir nuestro Monitor serial y visualizar las variables mencionadas tal como se pueden ver en la siguiente imagen:

 

 Datos GPS

  

  

Productos relacionados
Artículos relacionados
104 Comentarios
  • jose

    jose 20/10/2020 Responder

    Por que razon no usaste los pines 0 y 1 para recibir los datos del gps?
  • Edgar Santacruz

    Edgar Santacruz 09/09/2020 Responder

    buenos dias, disculpen la molestia, tengo un equipo vt600 que adquiri muy recientemente, mi problema es que vino con el firmware de fabrica y no con el que lo utilizaba anteriormente. Ya entre en contacto con la gente de fabrica pero aun no tengo una solucion del tema.
    la traza del equipo nuevo
    $$ 2 %S U131211.000,A,2521.1578,S,05731.0113,W,0.49,119,080920,,*02|0.9|121|2400|0000,0000,01F8,0297|02E80005296A5DC2|13|0000000D|08z
    y la traza del equipo viejo con el que contaba seria
    $$3046529699????&A9955&B114545.000,V,2521.1764,S,05731.0128,W,0.00,0,040920,,*1B|0.0|&C0010000000&D0017:?7>&E10000000&Y00000000##
  • Isai

    Isai 03/09/2020 Responder

    Puedo mandar las coordenadas a un web service
  • Marcos De la Cruz

    Marcos De la Cruz 29/01/2020 Responder

    Este módulo tiene función sleep? y como se activa y desactiva?
  • Jorge Eduardo

    Jorge Eduardo 19/11/2019 Responder

    Hola. Les escribo para ver si me pueden ayudar, con este circuito. https://easyeda.com/integrac/APRS_Tracker-c30efd83713e4e73a78dfd76f904f428# .. Disculpen que pertenece a otra publicación. Por lo poco que entiendo de código. Noto que se menciona sobre " // pin 8 is a pushbutton to allow the user to send a packet whenever they want.
    pinMode(8,INPUT);

    u8g.firstPage();
    do {
    draw(200.00,1.01);
    } while( u8g.nextPage() );
    " Y esto no lo veo en el circuito. Si alguno en el foro lo utiliza le agradezco sus comentarios. Gracias
  • Angelo

    Angelo 16/10/2019 Responder

    Hola muy bien tutorial, tengo una consulta... que modelo de gps me recomendarias si deseo utilizar para tomar datos en el mar
  • Walter

    Walter 17/09/2019 Responder

    Sabran como puedo obtener el campo Magnetico??
  • ANTONIO GARCIA

    ANTONIO GARCIA 05/09/2019 Responder

    2 preguntas:
    1) Tienes este modelo: Gy-Neo6Mv2 ?
    2) Este tutorial es válido para este modelo (Gy-Neo6Mv2 ) ?
  • jerson

    jerson 06/05/2019 Responder

    una pregunta ? como puedo incorporar un modulo gps a equipos de computo
    • Giuseppe

      Giuseppe 05/06/2020 Responder

      Hola, que programa puedo usar para verificar en tiempo real el posicionamiento y la distancia recorrida?
  • Juan C.

    Juan C. 05/04/2019 Responder

    Si es necesario puedo poner el codigo que estoy intentando hacer.
    • Felipe S

      Felipe S 02/12/2019 Responder

      Hola Juan, yo estoy en un proyecto parecido.
      Puedes poner tu código para comparar.
  • Juan C.

    Juan C. 05/04/2019 Responder

    Hola, estoy intentando leer los datos de un GPS y modificar la sentencia obtenida eliminando algunos campos que no me son necesarios para despues enviarlos a un servidor, pero tengo un problema, consigo imprimir en el monitor serie los datos recibidos, pero cuando intento pasar esos datos a una variable no consigo hacerlo, he buscado durante varios dias informacion de como realizar esto pero no consigo encontrar nada, he intentado recibir los datos en matriz, en String y siempre me da error cuando intento comparar el cracter recibido del GPS con "$GPRMC" para desechar las sentencias que no necesito, siempre me da error, como deberia de usar y que tipo de variables debo usar para detectar la sentencia correcta, gracias por vuestra ayuda.
  • Rodrigo

    Rodrigo 19/03/2019 Responder

    Buenas tardes,
    Estoy obteniendo estos datos

    $GPRMC,215934.00,V,,,,,,,190319,,,N*76
    $GPVTG,,,,,,,,,N*30
    $GPGGA,215934.00,,,,,0,00,99.99,,,,,,*6E
    $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
    $GPGSV,1,1,04,03,,,21,07,,,30,23,,,31,27,,,26*7B
    $GPGLL,,,,,215934.00,V,N*42

    Segun indicas la "V" indica que no esta validado, que se debe hacer?
  • Rafael Sosa

    Rafael Sosa 17/03/2019 Responder

    Una consulta, Alguien sabe los comandos para cambiar el baud rate del GPS ya que necesito mayor velocidad de procesamiento para la aplicacion que lo estoy usando. Si tienen algun documento con los demas posibles comandos del gps seria genial. Gracias.
  • Carlos Arjona

    Carlos Arjona 01/03/2019 Responder

    Saludos,
    Consulta: posees el código o interface para hacer que la placa GPS envíe los datos LAT y LON a un webservices o servidor web y que se pueda mostrar en un app movil en tiempo real?
    Quedo atento a sus comentarios.
    Saludos,
  • Urju

    Urju 07/11/2018 Responder

    Este módulo GPS es compatible con antena activa?
  • Victor Saez

    Victor Saez 31/10/2018 Responder

    Hola,, muy buen tutorial es excelente.
    Me gustaría saber una cosa... si quisiera conectar el gps a una aplicación php... que me haría falta?...
    • jota

      jota 08/11/2018 Responder

      estoy creando algo parecido por lo visto nos falta una targeta que lea datos gprs que envie pequeño mensajes de textos a un servidor , por supuesto el servidor debe estar arriba con lo cual solo se necesita una targeta prepago para ello.
  • CARLOS D ALEXANDRIA BRUNI

    CARLOS D ALEXANDRIA BRUNI 29/08/2018 Responder

    Parabéns pelo sua apresentação e dicas excelentes.

    Carlos Bruni
    Salvador - Bahia - Brasil
  • A robles

    A robles 15/08/2018 Responder

    Hola Sabes como guadar en memoria no volatil los parametros ? solo utilizo el $GPRMC (para no saturar el buffer) . ya logre que me diera solo ese comando, pero al apagarlo y volverlo a prender, me manda todos otra vez... gracias !!
  • LUIS DAVID

    LUIS DAVID 04/06/2018 Responder

    Buenos días quisiera saber cuanto puedo gastar en el proyecto del gps
  • David Coba

    David Coba 02/05/2018 Responder

    Hola, excelente tutorial.

    estoy usando una placa dfrobot arduino-uno con GPS sim808. quisiera saber si la latitud y longitud que lee el gps debe ser exacta o influencia la zona horaria. ya que los valores que me arroja el arduino no son exactos cuando los comparo en google maps.

    Gracias por tus comentarios

  • Adolfo Costa Martinez

    Adolfo Costa Martinez 25/04/2018 Responder

    Se pueden obtener coordenadas con precisiones centimetricas con algun GPS de arduino.
  • Adrian

    Adrian 13/04/2018 Responder

    sera el mismo codigo para cualquier modulo GPS porque tengo la duda si es igual al Parallax PAM-7Q
  • ENRIQUE

    ENRIQUE 07/03/2018 Responder

    como descargo la libreria TinyGPS
    • jota

      jota 08/11/2018 Responder

      se descarga la carpeta completa de zip de el repositorio de github que te dejo en el enlace en que subio esto,
      y ese mismo zip se carga como una libreria en el software arduino
  • Abril Daniela

    Abril Daniela 02/03/2018 Responder

    Hola! tengo un arduino nano, un modulo gps neo 6 y compilo el programa pero me salen puros asteriscos, no me salen coordenadas en si. Ayudaaaaa
  • Allan

    Allan 18/02/2018 Responder

    Hola, he escrito el codigo y procesado los datos "crudos" que vienen del GPS, y todo excelente, pero, las coordenadas resultantes dan un error de 7km respecto a la posicion real.
    Alguna sugerencia?
  • Sergio

    Sergio 10/02/2018 Responder

    Hola. Estoy teniendo cierto problema con lo siguiente: compilo el programa y lo subo al arduino y siempre que lo ejecuto, recibo señal, bien. Pero en ocasiones, recibo los datos correctos pero en otras obtengo una altura de 1000000m y 255 satélites, lo cual es imposible. Entonces, no sé por qué es ni cómo solucionarlo. Podrían ayudarme?
  • GUILLERMO CALDERON

    GUILLERMO CALDERON 28/01/2018 Responder

    Buen dia,excelente tutorial,mi pregunta es la siguiente el gps solo funciona cuando esta en el arduino, si lo ubicaria dentro de un auto sin el arduino me podria ver la ubicacion donde se encuentra actualmente?
  • janis

    janis 23/01/2018 Responder

    hola tengo una duda me correo el segundo código al mometo de cargarlo al arduino me marca este error
    El Sketch usa 3598 bytes (11%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
    Las variables Globales usan 456 bytes (22%) de la memoria dinámica, dejando 1592 bytes para las variables locales. El máximo es 2048 bytes.
    avrdude: ser_open(): can't open device "\.COM1": El sistema no puede encontrar el archivo especificado.


    Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.
    alguna sugerencia ???
  • Marcel

    Marcel 09/12/2017 Responder

    Hola, yo uso el neo 7-M y me sale error, me sale una V, y si uso el simple_test no me aparece la latitud ni la longitud. alguna idea de lo que puede ocurrir?

    pd: muchas gracias por todods tus tutoriales!
  • Erick

    Erick 22/11/2017 Responder

    Hola buenas, a que se debe que al momento de la latitud y longitud aparezca esto " CHARS=1350 SENTENCES=0 CSUM ERR=0 CHARS=1688 SENTENCES=0 CSUM ERR=0" y asi por mucho tiempo mas
    que se puede hacer en esto?
  • Luizinho

    Luizinho 17/11/2017 Responder

    Error, Error, me equivoque en el post anterior indique que existía un error, ME EQUIVOQUE pues es muy exacto.... olvide convertir a Grados, Minutos y Segundos.....bacan, funciona muy bien. Ya probé el GY91 con el cual lo complemente y funciona excelente para el tema de la dirección, estoy en el código para orientar mi robot se mueva a una determinada posición GPS, salvando obstáculos.
  • Luis

    Luis 17/11/2017 Responder

    Ya lo probé, algunas incongruencias con respecto a la hora. Lo probé a las 15:28 y me aparece a las 20:28. Lo compare con el GPS de Huawei Mate 9, y hay una diferencias como de 4 décimas en latitud y longitud, me sembró la duda de saber cual de los dos es el mas exacto. Pena que no tenia mi GPS Garmin a la mano.
    Como respuesta respecto a la posición del Robot, si se puede hacer, pero para que vaya a una dirección especifica requieres de un Compass o Magnetometro para que pueda desplazarse a una determinada dirección. ...... y ojo el GPS viene por defecto en 9600 bps.

    • Luizinho

      Luizinho 17/11/2017 Responder

      Me equivoque es muy exacto, olvide convertir de grados decimales a grados_minutos_segundos
  • Henry

    Henry 03/11/2017 Responder

    Hola a todos.

    Me gustaría saber si el GPS, puede dar también los datos de altitud, ademas de la longitud y la Latitud.

    Gracias.
  • Jimmy

    Jimmy 21/10/2017 Responder

    Tienen el módulo GPS a la venta?
  • Juan

    Juan 28/09/2017 Responder

    Hola buenas tardes, gracias por el tutorial , la libreria funciona correctamente unicamente se debe cambiar el baud rate a 9600 hacia la lectura y 115200 para el monitor serial y todo perfecto, a los que no les capta senal es problema de recepcion , una vez que el GPS capta senal empieza a parpadear , a mi al principio no me funciono pero al agregarle una antena exterior funciono mejor de lo esperado, utilizo el NEO-6M, muy preciso. pueden utilizar una antena de 1575.42MHZ .
  • aldo fetver

    aldo fetver 03/08/2017 Responder

    hola este modulo NEO-6M hay que configurar algo antes con el programa u-center o por defecto viene para llegar y conectar a un monitor serial ?
    en esta parte del tutorial describes lo siguiente :

    $GPRMC,044235.000,A,4322.0289,N,00824.5210,W,0.39,65.46,020615,,,A*44

    a mi me aparece asi en un monitor serial

    $GPRMC,200859.00,V,,,,,,,030817,,,N*76

    estoy desorientado en eso porfa si me puedes ayudar
    saludos y muy preciso el torial
    • Naylamp

      Naylamp 22/08/2017 Responder

      Hola Aldo, el GPS no necesita configuraciones previas, La cadena que estas recibiendo, es porque no logra fijar una posición, por eso te sale la letra V en el segundo, esto es porque no tiene suficientes satélites para poder determinar la ubicación, necesitas salir a un lugar más abierto o alejarte de paredes que obstruyan la señal GPS. Cuando la V cambia por A es porque ya se estableció la posición.
      • Zederick

        Zederick 05/09/2017 Responder

        Hola igual me pasa de que no me da posicion.
        $GPRMC,005525.898,V,,,,,,,060917,,,N*4A
        $GPVTG,,,,,,,,,N*30
        $GPZDA,005525.898,06,09,2017,00,00*53
        $GPTXT,01,01,01,ANTENNA OK*35
        $GPGGA,005526.898,,,,,0,00,25.5,,,,,,*69
        $GPGLL,,,,,005526.898,V,N*77
        $GPGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5*02
        $GPGSV,2,1,05,10,,,11,21,,,32,27,,,29,31,,,17*76
        $GPGSV,2,2,05,32,,,24*7B

        Eso es lo que recibo, tengo otro modulo igual del mismo proveedor y ese si me da posicion la unica diferencia es que en el que si da posicion el LED hace blink
  • luis

    luis 26/06/2017 Responder

    Hola me puedes ayudar.. como uno el codigo de GSM/GPRS client con: node Module GPS, Sensor Anemometro, Sensor Temperatura
  • Luca

    Luca 11/06/2017 Responder

    Hola muy buen tutorial, queria preguntarte como podria separar la velocidad para tomarla en una variable y luego mostrarla en un display 7 segmentos.
    Desde ya muchas gracias.
    Saludos
    • Naylamp

      Naylamp 18/06/2017 Responder

      Hola Luca, para obtener la Velocidad usa la función speed(), esto retorna un unsigned long con la velocidad. Ejemplo: velocidad=gps.speed();
  • Luis sol

    Luis sol 06/06/2017 Responder

    Buenas tardes amigo si mi modulo solo prende el led rojo y no arroja ningun valor que debo hacer
    • Naylamp

      Naylamp 18/06/2017 Responder

      Hola Luis, si el modulo es el mismo del tutorial, el Led es una salida de reloj de 1Hz, que por lo general suele activarse cuando tiene suficiente señal GPS. Si siempre esta prendido puede ser que sea un led de power. Si no recibe ninguna dato puede ser que el arduino y el modulo tengan velocidades diferentes. Prueba con otra velocidad.
  • ferny

    ferny 03/06/2017 Responder

    hola tengo la necesidad de enviar los datos del gps a través de un modulo de RF cada determinado tiempo [10 segundos] y obvio recibirlo por RF y presentarlo en un display y me mantenga la información hasta que llegue la nueva trama de datos
  • Andres

    Andres 25/04/2017 Responder

    Hola felicitaciones muy buen tutorial. Quería consultarte, en el caso de que quiera agregar otro sensor además del GPS como debería leerlo por el serial?. Ya que cuando intento leer el GPS y el otro sensor solo aparece el ultimo que inicializo. Por ejemplo si pongo : gps.begin(9600); y luego BT1.begin(9600); solo me aparece BT1.

    Muchas gracias.
    • Naylamp

      Naylamp 30/04/2017 Responder

      Hola Andrés, el problema no es en la inicialización, sino en la lectura, la limitación de usar SoftwareSerial es que si declaras más de dos, solo podrás escuchar por uno a la vez, y usando la función gps.listen() o BT1.listen() determinas por cual puerto escuchar, puedes revisar el ejemplo TwoPortReceive de Arduino. Si ambos sensores van a estar enviando datos constantemente, es mejor usar el UART por hardware del Arduino, puedes trabajar con el Arduino MEGA que tiene 4 puertos.
  • Adolfo

    Adolfo 23/04/2017 Responder

    hola, me gustaría saber cual es el algoritmo de programación que utilizaste ???? gracias :)

    • salvador

      salvador 02/01/2019 Responder

      se llama arduino
  • Artemio

    Artemio 30/03/2017 Responder

    Saludos, en referencia de la pregunta de GABRIELA, solo necesito restar o sumar x numero a la hora para tener la hora exacta de acuerdo al país, lo mismo ocurre con la fecha?
    • Naylamp

      Naylamp 31/03/2017 Responder

      Hola Artemio, con respecto a la hora sería fácil, a la Hora UTC solo se resta o suma la diferencia de horas de tu país, agregando una condición para cuando el resultado es mayor a 24 o menor a 0. Para el caso de la fecha es más complicado, mientras la hora calculada no ha provocado que cambie el día, la fecha seria la correcta, pero sino tendrías que analizar al incrementar el día si es un mes con 31 o 30 días, y a la vez si es una año bisiesto, y podría haber un incremento de mes y de año. Existen librerías como el de DataTime, que te permite hacer operaciones de fecha.
  • Blanca López

    Blanca López 25/02/2017 Responder

    Buenos días,
    quería saber si puedo recibir los datos gps en una tablet o móvil y si se complicaría mucho el código.
    Ya tengo un módulo hc-06 conectado a Arduino, conectado directamente en Rx y Tx de Arduino y recibiendo datos en una app. Me gustaría recibir aquí la localización gps, pero el proyecto se me escapa en dificultad.
    Muchas gracias y un saludo.
    • Luizhino

      Luizhino 17/11/2017 Responder

      Usa la tarjeta MEGA tiene 4 puertos TxRx
    • Naylamp

      Naylamp 11/03/2017 Responder

      Estimada Blanca, La complejidad en si lo va a definir tu proyecto, para trasmitir por bluetooth es igual que trasmitir hacia el monitor serial, por ejemplo, sin modificar el código del tutorial puedes conectar el RX y TX del arduino al HC-06 y vas a poder recibir los datos desde tu celular usando cualquier aplicativo que funcione como terminal bluetooth. Cuando se desarrolla una app por lo general se define una estructura o trama de datos, para que la app pueda interpretar los datos que recibe.
  • Gabriela

    Gabriela 16/02/2017 Responder

    Buenas tardes excelente tutorial tengo un problema con la hora mi hora por ejemplo es las 12y 50pm y me sale en el gps a las 5y20pm casi cinco horas de diferencia, es asi? o hay algo mal configurado? no se que sucede:(
  • Gabriela

    Gabriela 16/02/2017 Responder

    Hola excelente tutorial, pero tengo un pequeño problema con la hora, por ejemplo son las 12:50pm y marca la hora a las 5y20pm... tiene diferencia de 5 horas aproximadamente.. es asi? o hay algo malo? lo demas me lo muestra excelente
    • Naylamp

      Naylamp 07/03/2017 Responder

      Hola Gabriela, la hora es en UTC, va a depender del país o ciudad que estés para que sumes o restes y tener la misma hora que tu ciudad.
  • Ariel Gómez

    Ariel Gómez 29/01/2017 Responder

    Tengo problemas con la hora que me da mi módulo gps, que puedo hacer
    • Naylamp

      Naylamp 01/02/2017 Responder

      Hola Ariel, Algunos módulos tienen una batería para mantener la hora, si tu modelo tiene batería la hora debería estar siempre actualizada, Si no trae batería, la hora debería ser correcta mientras haya señal GPS.
  • Michael

    Michael 21/01/2017 Responder

    Amigos, hay que recordar que Gps deb estar muy cerca a la ventana o con vista al satélite...
  • Nico

    Nico 06/01/2017 Responder

    Hola buenas, tengo un problema con el GPS, he probado con dos modelos distintos de GPS, actualmente estoy probando con el GY-GPS6MV2 con una placa arduino Leonardo.
    Al compilar el código de ejemplo de la librería TinyGPS simple_test en el moditor serie solo me saca
    CHARS=0 SENTENCES=0 CSUM ERR=0
    ** No characters received from GPS: check wiring **
    He revisado que las conexiones esten bien e incluso he probado variar la velocidad del GPS desde 4800 hasta 115200 baudios y nada, ¿que podría ser?

    Un saludo, gracias.
    • Javier Albarracin

      Javier Albarracin 27/12/2017 Responder

      Hola Nico, me pasaba exactamente lo mismo. Y descubri que era porque el RX y TX los tenia al revés.
    • Naylamp

      Naylamp 01/02/2017 Responder

      Hola Nico, verifica con el primer sketch de nuestro tutorial que lleguen datos, si llegan caracteres basura o no te llega ningún carácter es porque está mal la velocidad de comunicación. Si te llegan datos pero las tramas están vacías es porque no encuentra señal GPS.
  • Said

    Said 18/12/2016 Responder

    Hola tengo una duda. Como se puede controla a un robot para que sega las cordinaciones que le metemos en memoria ?
  • Cristian

    Cristian 22/11/2016 Responder

    Hola, tengo el siguiente problema en usando el código del tutorial, la salida del GPRMC siempre de da con la opción V. que podría estar pasando?
    esta es la salida:
    https://drive.google.com/file/d/0B2nA4qWekrbAeEt4c0w4WE9VNzA/view?usp=sharing
    • Naylamp

      Naylamp 26/11/2016 Responder

      Hola Cristian, lo más probable es que haya poca señal, intenta salir a una zona más abierta o usar una antena GPS
  • marc

    marc 21/11/2016 Responder

    ola me gustaria saber que tipo de gps tengo que utilizar para poder crear un localizador como de grande una ficha de domino
  • joselenix0223

    joselenix0223 17/11/2016 Responder

    muchas gracias!!!
    me fue de mucha ayuda!!! como base para un proyecto que tengo entre manos...
    tengo un material que tal vez te interese lo digo sin ningún interés!!!
    con respecto a GPS, es un proyecto un poco mas complejo y me gustaría que lo subas podría ser de mucha ayuda a otras personas.

    de nuevo muchas gracias!!!
    • Naylamp

      Naylamp 26/11/2016 Responder

      Hola, toda información es bienvenida, puedes subir tu proyecto a algún repositorio como GitHub para poder compartir. Saludos
  • nor amira

    nor amira 16/11/2016 Responder

    hellow, i want to ask regarding the source code that you display. why i try using the code , and getting error. it display that there is no such file directory for softwareserial.h. how to solve it?
  • jafet crespo

    jafet crespo 16/11/2016 Responder

    hola disculpa al usar mi modulo gps me manda letras raras todas en linea ya pobre cambiandole la velocidad del gps pero no me sale cuando cambio a una velocidad de 115200 me sale el CHAR, SENTENCES y CSUM REM iguales a 0
    • Naylamp

      Naylamp 16/11/2016 Responder

      Hola Jafet, prueba con el primer código, te debe mostrar todos los datos que se reciben del GPS, si recibes caracteres extraños es porque está a otra velocidad, cambia la velocidad en gps.begin(9600); por 19200, 38400, 57600 o 115200
      • jafet

        jafet 22/11/2016 Responder

        hola gracias por tu ayuda bueno ahora lo que me pasa es que al ejecutar el segundo programa no me muestra ni la latidud ni la longitud en cambio ni sat ni frec solo me muestra CHARS, SENTENCES y CSUM ERR ademas CHARS es el unico que tiene valores SENTENCES Y CSUM ERR me salen con valores de 0 sabes como podria arreglarlo?
  • Jose Ortiz

    Jose Ortiz 27/10/2016 Responder

    Hola amigo, como puedo combinar este programa con un sensor de llama, para que me salgan los dos en el monitor
    • Naylamp

      Naylamp 05/11/2016 Responder

      Ola José, solo envía el valor leído después del último println y borra el ln del println para que imprima en la misma línea: Ejemplo:

      Serial.print(" SENTENCES=");

      Serial.print(sentences);

      Serial.print(" CSUM ERR=");

      Serial.print(failed);

      Serial.print(" SensorLLama=");

      Serial.println(digitalRead(Pin_sensor));
  • jose

    jose 18/10/2016 Responder

    hola con este programa se lo echas al arduino y sale funcionando? saludos
    #include
    SoftwareSerial gps(4,3);
    char dato=' ';
    void setup()
    {
    Serial.begin(115200);
    gps.begin(9600);
    }
    void loop()
    {
    if(gps.available())
    {
    dato=gps.read();
    Serial.print(dato);
    }
    }
  • Martin

    Martin 13/10/2016 Responder

    Como puedo mandar los datos de ubicación a google maps y desde allí monitorear, (me dijeron que traves de un lenguaje de programación ligado a red) pero no se como hacerlo, y quiero salir de dudas
    • Naylamp

      Naylamp 14/10/2016 Responder

      Hola Martin, con el GPS solo vas a poder obtener la posición, para enviar esa posición a un servidor, tu arduino tiene que tener acceso a internet, esto puede ser con un módulo Wifi (si tienes una red wifi cerca) o con un módulo GSM/GPRS (usando la red celular), En el lado del servidor tienes que programar la aplicación que deseas realizar, pero esto ya es programación web.
  • Enzo

    Enzo 07/10/2016 Responder

    Hola mira probe dos gps que tengo aca y me dieron valores. volvi a probar y ya no me da ningun valor. puede ser que se dañara el GPS. ya he probado distintas velocidades del GPS y nada. gracias
    • Naylamp

      Naylamp 14/10/2016 Responder

      Hola Enzo, podrían estar defectuosos tus GPS, pero antes descarta otras opciones, prueba con otro arduino, verifica tus conexiones o cambia de cables, conecta directamente el GPS a la PC a través de un conversor USB a serial TTL como el CP2102.
  • Juan mendoza

    Juan mendoza 16/09/2016 Responder

    hola, a la hora de imprimir los valores me salen todos en 0 y el mensaje de "No characters received from GPS: check wiring"
    Que es lo que debo modificar del codigo?
    • Naylamp

      Naylamp 17/09/2016 Responder

      Hola Juan, ese error te sale porque no hay comunicación entre el GPS y el Arduino, las causas pueden ser: Una mala conexión, no se está especificando correctamente los pines para el SoftwareSrial ss(RX,TX) en el código, o la velocidad no es la correcta.
  • Alan Amis

    Alan Amis 14/09/2016 Responder

    hola, te quería consultar si es posible programar el modulo gps para que solo mande la latitud y la longitud cada cierta cantidad de tiempo, ya que cuando utilizo el gps, todo el programa de la placa se pone muy lento y solo tengo el gps y un sensor de ultrasonido.
    • Naylamp

      Naylamp 17/09/2016 Responder

      Estimado Alan, si es posible configurar su GPS para que recibas menos datos, pero hay muy poca documentación de eso, en el siguiente documento puedes encontrar todas las configuraciones que puedes realizar, esto va a depender del modelo o versión de GPS que tengas. Otra alternativa para no saturar con datos a tu Arduino, es encargarle todo ese trabajo a otro arduino como un Mini Pro, que es de bajo costo y tamaño, este segundo arduino enviaría los datos ya procesados al arduino principal.
  • juan carlos

    juan carlos 11/09/2016 Responder

    Buenas tardes.. excelente tutorial. podiras subir a algun servidor amigo el segundo codigo donde ya usas esa libreria la tinygps ? ya que tu en el void loop() pones solo 3 lineas de codigo y allí que mas se pone ?
    • Naylamp

      Naylamp 14/09/2016 Responder

      Hola Juan, el código viene como ejemplo incluido en la librería, solo descarga e importa la librería. Saludos
  • Jfvielma

    Jfvielma 30/08/2016 Responder

    Hola buenas tardes ya probe dos gps diferentes y con tinygpsy tinygps++. Y no obtengo datos.qie estare haciendo mal
    • Naylamp

      Naylamp 02/09/2016 Responder

      Hola, revisa tus conexiones. Prueba con el código inicial que mostramos en el tutorial, para verificar si estás recibiendo datos. También puede ser que tu GPS esté configurado a otra velocidad, de ser ese el caso prueba con velocidades diferentes.
  • Andres

    Andres 29/08/2016 Responder

    Hola que tal muy buen tutorial, tenia una duda que frecuencia de adquisición tiene su equipo GPS ?.

    Me encuentro desarrollando un proyecto para tomar una señal serial del medidor de combustible de un bus y quiero integrar esa señal con la información GPS generar un archivo .txt y guardarlo en una sd, y necesitaríamos una frecuencia de adquisición de al menos 1 segundo.

    Saludos.
    • Naylamp

      Naylamp 02/09/2016 Responder

      Hola Andrés, el modulo GPS está enviando constantemente datos por su pin de transmisión, a una velocidad de 9600 baudios, a esta velocidad va a depender cuantos datos vas a procesar, pero igual sigue siendo una adquisición veloz muy inferior a 1s.
  • enrique

    enrique 25/07/2016 Responder

    hola que tal gran tutorial muy bien explicado pero tengo una duda con las coordenadas que tan exacta es la posición que nos da el gps
    • cristian

      cristian 11/03/2017 Responder

      Les presento una nueva libreria para arduino https://cristiansteib.github.io/Gps-neo-6m/
      • alux

        alux 20/11/2019 Responder

        ya no existe esa ruta, tienes el codigo? saludos
    • Naylamp

      Naylamp 28/07/2016 Responder

      Eso se debe a que no estas recibiendo datos del GPS, asegúrate de estar trabajando al mismo baurate, la mayoría de GPS vienen configurados con 9600 baudios
      • Nicolás

        Nicolás 09/01/2017 Responder

        Hola buenas, tengo un problema con el GPS, he probado con dos modelos distintos de GPS, actualmente estoy probando con el GY-GPS6MV2 con una placa arduino Leonardo. Al compilar el código de ejemplo de la librería TinyGPS simple_test en el moditor serie solo me saca:
        CHARS=0 SENTENCES=0 CSUM ERR=0 ** No characters received from GPS: check wiring **
        He revisado que las conexiones esten bien e incluso he probado variar la velocidad del GPS desde 4800 hasta 115200 baudios y nada, ¿que podría ser?
        Un saludo, gracias.
        • ALMENDRA

          ALMENDRA 20/12/2019 Responder

          Javier Albarracin, lograste solucionar el problema? Tengo el mismo problema. Y probe el gps en el exterior por 20 min mas o menos y nada, no manda ningun dato
          • JC

            JC 27/12/2019 Responder

            Yo estaba usando un Mega y los pines 3 y 4 no son compatibles con el mega por no se qué de las interrupciones. Lo he cambiado al 11 y 10 como he leído por ahi y me ha funcionado perfecto.
        • Javier Albarracin

          Javier Albarracin 27/12/2017 Responder

          Aprendí varias cosas:
          1.- La antena GPS aumenta el consumo de energia por lo que es muy probable que si estás en PIN de 3.3V el modulo GPS comience a resetearse a cada rato y no obtengas datos.
          2.- Lo solucioné usando el pin de 5V y utilizando el GND que está más cerca a los Data Pins
          3.- Revisa los pines que estás usando para RX y TX si están al revés no va a funcionar.
          4.- La velocidad en BAUDS por defecto del modulo es 9600, tu serial puede ser de 115,200 (del arduino a tu PC) pero recuerda usar un terminal en 115,200 baudios para que puedas ver bien los mensajes.
    • Naylamp

      Naylamp 26/07/2016 Responder

      Hola Enrique, la precisión depende de varios factores, mientras mayor sea el número de satélites vas a tener una mejor precisión, en el ejemplo también se muestra una variable que te sirve como referencia de la precisión (HDOP), mientras menos sea ese número es mejor.
      • enrique

        enrique 26/07/2016 Responder

        Hola que tal gracias por tu respuesta oye estoy cargando la librería como se menciona en el segundo ejemplo pero no me da la longitude y la latitud me sale esto:
        CHARS=203 SENTENCES=0 CSUM ERR=0
        CHARS=406 SENTENCES=0 CSUM ERR=0
        CHARS=609 SENTENCES=0 CSUM ERR=0
        CHARS=812 SENTENCES=0 CSUM ERR=0
        CHARS=1023 SENTENCES=0 CSUM ERR=0
        CHARS=1234 SENTENCES=0 CSUM ERR=0
        CHARS=1445 SENTENCES=0 CSUM ERR=0
        CHARS=1656 SENTENCES=0 CSUM ERR=0
Dejar un comentario
Deja su comentario

Menú

Ajustes

Crear una cuenta gratuita para usar listas de deseos.

Registrarse