altitud con gps y arduino

Buenos días. Estoy intentando medir la altura sobre el nivel del mar con arduino, pero no soy capaz de medirla en centímetros.
He visto muchas cosas en la red, pero no me aclaran nada, ya que casi todo viene en ingles y yo de ingles = 0

El programa que uso, es este:
PHP:
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;


TinyGPSPlus gps;

SoftwareSerial ss(RXPin, TXPin);
int con=0;
void setup()
{
  Serial.begin(4800);
  ss.begin(GPSBaud);


}

void loop()
{

     while (ss.available() > 0)
    if (gps.encode(ss.read()))
       { 
        Serial.print(" con = ");
        Serial.print(con);
        Serial.print(" sa = ");
        Serial.print(gps.satellites.value()); // Number of satellites in use (u32)
        Serial.print(" al = ");
        Serial.println(gps.altitude.meters()); // Altitude in meters (double)
        con++;
       }


}
 
Última edición por un moderador:
Como no tengo ese modulo no puedo ayudarte, pero ¿Cuál es el problema? Parece que te devuelve metros la función, si quieres centímetros usando un GPS tan simple es prácticamente imposible, normalmente tienen errores de varios metros, por eso en los teléfonos el GPS se marca en un circulo del radio de error del dispositivo.
 
Eso mismo pienso yo, un error de dos o tres metros ya es bueno buenísimo para un gps.
Si además es "gps garrafón" como el que seguramente lleve el shield del arduino ya...
 
He probado con varios módulos y con todos me hace lo mismo, me da lectura pero al levantarlo y bajarlo no me hace nada, la librería que uso es (TinyGPSPlus)
La latitud y longitud parece que va bien, pero la altura no.

Si crees que es del módulo GPS, ¿me podrías recomendar alguno? Gracias.



Os dejo el programa que antes no ha salido bien:
PHP:
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;


TinyGPSPlus gps;

SoftwareSerial ss(RXPin, TXPin);
int con=0;
void setup()
{
  Serial.begin(4800);
  ss.begin(GPSBaud);


}

void loop()
{
  
     while (ss.available() > 0)
    if (gps.encode(ss.read()))
       { 
        Serial.print("  con = ");
        Serial.print(con);
        Serial.print(" sa = ");
        Serial.print(gps.satellites.value()); // Number of satellites in use (u32)
        Serial.print("  al = ");
        Serial.println(gps.altitude.value()); // Raw altitude in centimeters (i32)
        con++;
       }


}
 
Última edición por un moderador:
Te recomiendo bajarlo y levantarlo unos 3 o 4 pisos en un edificio, por que lo que puedas levantar con la mano desde una PC de escritorio con un cable USB estándar de 1,8m. . . estas dentro del rango de error, tendría que ser un GPS realmente muy muy muy bueno para que puedas ver una lectura a esa escala.

Bueno, leí un poco más por ahí, pero aun no leo ni si quiera cual es el modelo del GPS que estas usando.
 
Última edición:
si no me lee de centímetro en centímetro no me sirve para mi proyecto
me pudierais decir los parámetros que tengo que buscar en el modulo GPS para obtener la máxima exactitud o el modulo que necesitaría para ello
los módulos que he probado asta ahora son
VK2828U7G5LF
SKM53
Gy-neo6mv2
wk16u6
 
Honestamente, tal cosa no existe. Como ya te hemos comentado repetidamente, una precisión de dos o tres metros ya es excelente.
Los que lo hacen, por ejemplo instalados en la cuchilla de un bulldozer, son especiales y emplean además un repetidor en tierra para aumentar la precisión.
No se exactamente como va ni como se hace, pero se que el topógrafo determina con total exactitud un punto y ahí sé coloca una o varias estaciones terrestre. Con eso si se alcanza la precisión que buscas, pero dudo que los módulos de arduino sirvan porque son del todo a cien, aunque a lo mejor me equivoco...

 
Última edición:
Yo creo que si le pueden dar valores a la escala, pero de ahí a que realmente sean esa cantidad de centímetros es otra cosa, el error es demasiado grande como para decir que realmente se movieron unos centímetros.

Según estos para tener precisión al centímetro necesitas usar dos como dice Scooter, el que va en el dispositivo y el de referencia que se encarga de corregir el desplazamiento, y a 995USD el kit de ambos es relativamente económico. Aparentemente, los GPS comunes son más insensibles al medir altura que las otras coordenadas
 
buenos días he leído algo en la red sobre lo que me habláis se llama (RTK ) que en teoría es otro GPS que está en una posición fija y le manda una señal de radio en (UHF) a la estación móvil pero no encuentro nada sobre qué es lo que le envía si es la señal GPS o es otra cosa si alguien me pudiese dar mas información o alguna pagina que me lo aclarara se lo agradecería mucho
 
Envía la corrección a la medición de fase, para ponerlo simple, el GPS normal espera recibir un dato, este se copia internamente y se replica, luego se compara con el siguiente paquete del mismo dato que envía el satélite, el proceso continua pero el GPS retrasa la señal generada internamente hasta que ambos se sincronizan, entonces considerando cuanto tuvo que retrasar la señal interna ya tiene el tiempo necesario para recibir la señal desde el satélite. Esto toma mucho tiempo y con el satélite moviéndose junto con la complejidad para medir el tiempo da error a la precisión.

El RTK mide la fase, no es dato transmitido, sino la modulación portadora de la señal que transmite el dato, la estación fija entonces calcula el desplazamiento de la posición medida por el satélite mediante la fase y la posición real a la que se encuentra para tener el desplazamiento de esta, en la móvil se mide la posición del satélite y a esto luego se le agrega la diferencia medida por la estación fija y así calcula su posición real.

El error se minimiza por que la estación fija no esta a 20 mil kilómetros y las condiciones que afectan la señal del satélite son las mismas.
 
Hay más sistemas de posicionamiento, pero que yo sepa no son compatibles entre si.
Está el ruso y el europeo que aún no funciona. Ya ni me acuerdo, me suena que Japón tenía algo.
Se supone que son mas precisos pero depende de la zona del globo. Según cuantos satélites hayan en cada zona.

 
Atrás
Arriba