Pages: [1]   Go Down
Author Topic: Duda con módulo GPS libelium  (Read 1667 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muy buenas,

Estoy aprendiendo a usar el módulo GPS de libelium y tengo alguna duda. El programa que tengo es bastante sencillo ya que lo único que hace es leer las tramas RMC y GGA y enviarlas por el puerto USB para imprimirlas por la consola. El caso es que el resultado que me da al imprimir estas tramas por pantalla es el siguiente:

GGA sentence: $GPGGA,175825.341,,,,,0,00,,,M,0.0,M,,0000  Fin de trama GGA
RMC sentence: $GPRMC,175824.341,V,,,,,,,200211,,,N  Fin de trama RMC
GGA sentence: $GPGGA,175828.341,,,,,0,00,,,M,0.0,M,,0000  Fin de trama GGA
RMC sentence: $GPRMC,175827.341,V,,,,,,,200211,,,N  Fin de trama RMC
GGA sentence: $GPGGA,175832.341,,,,,0,00,,,M,0.0,M,,0000  Fin de trama GGA
RMC sentence: $GPRMC,175831.341,V,,,,,,,200211,,,N  Fin de trama RMC
GGA sentence: $GPGGA,175836.341,,,,,0,00,,,M,0.0,M,,0000  Fin de trama GGA
RMC sentence: $GPRMC,175835.341,V,,,,,,,200211,,,N  Fin de trama RMC

Y así seguiría por los siglos de los siglos...

Como podéis ver, tanto la hora como la fecha las pone bien, no así la posición, donde no aparece nada.

El código del programa es el siguiente:

Code:
// Inclusión de la librería SoftwareSerial
#include <SoftwareSerial.h>

// Constantes
#define rxPin 9      //Conexión de GPS a rx pin (recibe datos serie)
#define txPin 8      //Conexión de GPS a tx pin (transmite datos serie)
 
// Creación del objeto 'gps' del tipo SoftwareSerial.

SoftwareSerial gps = SoftwareSerial(rxPin, txPin);

// Variables
byte byteGPS = 0;
int i = 0;
int h = 0;

// Inicialización de los buffers
char inBuffer[300] = "";
char GPS_RMC[100]="";
char GPS_GGA[100]="";

void setup(){

  //Inicialización del puerto serie 'gps'. Puerto serie creado.
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  gps.begin(4800);    // Configuración de velocidad para comunicación serie. Utilizar valores superiores a 9600 baudios dará lugar a comunicaciones fallidas.
 
  //Inicialización del puerto serie para la comunicación con el ordenador.
  Serial.begin(4800);
   
 delay(100);
}

void loop(){
 
  // Leer trama RMC del GPS
  byteGPS = 0;
  byteGPS = gps.read();
 
  while(byteGPS != 'R'){
    byteGPS = gps.read();
  }
 
  GPS_RMC[0]='$';
  GPS_RMC[1]='G';
  GPS_RMC[2]='P';   
  GPS_RMC[3]='R';
 
  i = 4;
 
  while(byteGPS != '*'){                 
    byteGPS = gps.read();         
    inBuffer[i]=byteGPS;
    GPS_RMC[i]=byteGPS;
    i++;                     
  }
 
  // Leer trama GGA del GPS
  byteGPS = 0;
  byteGPS = gps.read();
 
  while(byteGPS != 'A'){
    byteGPS = gps.read();
  }
 
  GPS_GGA[0]='$';
  GPS_GGA[1]='G';
  GPS_GGA[2]='P';   
  GPS_GGA[3]='G';
  GPS_GGA[4]='G';
  GPS_GGA[5]='A';
 
  i = 6;
 
  while(byteGPS != '*'){                 
    byteGPS = gps.read();         
    inBuffer[i]=byteGPS;
    GPS_GGA[i]=byteGPS;
    i++;                     
  }
   
  // Imprimir trama GGA por USB
  Serial.print("GGA sentence: ");
  h = 0;
 
  while(GPS_GGA[h] != 42){
    Serial.print(GPS_GGA[h],BYTE);
    h++;
  }
 
  Serial.println("  Fin de trama GGA");
  delay(1000);
 
  // Imprimir trama RMC por USB
  Serial.print("RMC sentence: ");
  h = 0;
 
  while(GPS_RMC[h] != 42){
    Serial.print(GPS_RMC[h],BYTE);
    h++;
  }
 
  Serial.println("  Fin de trama RMC");
  delay(1000);
}

Si alguien me pudiera echar una mano con esto se lo agradecería muchísimo.

Gracias de antemano.
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mira en los posts del foro antiguo, se ha hablado mucho de éste módulo
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias!

Ya está resuelto. El código está bien, era sólo que el GPS no me cogía señal debido a que los edificios de alrededor estaban haciendo sombra.
Logged

Pages: [1]   Go Up
Jump to: