Go Down

Topic: problema con módulo gps y sentencia NMEA (Read 660 times) previous topic - next topic

mamumo

Hola buenas!!
estoy utilizando el módulo siguiente  http://www.cooking-hacks.com/index.php/ ... duino.html    y   un arduino Mega.
El programa es muy simple, en un principio sólo quiero sacar la sentencia RMC, luego ya iré tratando los datos para hacer más cosas.
Pero no me sale bien, explico lo que he hecho. Es que no se si es problema es del código o que mi gps se ha estropeado.

-Conecto la placa al módulo con dos cables, GND y 5V.
-El código:

#include <SoftwareSerial.h>
#define txPin 3 //el pin tx para conexión con GPS
#define rxPin 2
//el pin rx para conexión con GPS

SoftwareSerial gps = SoftwareSerial(rxPin,txPin); //llama a la libreria SoftwareSerial para configurar rx y tx

//variables
byte byteGPS = 0; // declara 'byteGPS' como byte(almacena un valor numerico de 8 bits sin decimales)
int i= 0;
int h= 0;

//buffers para datos de entrada
char inBuffer[100]="";
char GPS_RMC[70]="";


void setup(){
//confifguracion para mi puerto serie
pinMode (rxPin, INPUT);
pinMode (txPin, OUTPUT);
gps.begin(4800);

//configuracion para el puerto serie
Serial.begin(19200);

delay(1000);
}

void loop(){

//leer la sentencia RMC del GPS
byteGPS=0;
byteGPS=gps.read();
while(byteGPS!='R') //lee los datos de GPS hasta que encuentra 'R'
{
byteGPS=gps.read();
}
GPS_RMC[0]='$'; //cuando ya ha encontrado 'R' escribe lo siguiente
GPS_RMC[1]='G';
GPS_RMC[2]='P';
GPS_RMC[3]='R';

i=4;
while(byteGPS!='*') //mientras no encuentre el '*' sigue leyendo y dando valores a la variable byteGPS
{
byteGPS=gps.read();
inBuffer=byteGPS;
GPS_RMC=byteGPS;

i++;
}

//pasa las sentencias de RMC al USB
Serial.print("RMC sentence:");

h=0;
while(GPS_RMC[h]!=42)
{
Serial.print(GPS_RMC[h]);
h++;
}
Serial.println();
}

- Y esto es lo que me sale en el monitor:
RMC sentence:$GPRMC,122256.636,V,,,,,,,231012,,,N
RMC sentence:$GPRMC,122257.636,V,,,,,,,231012,,,N
RMC sentence:$GPRMC,122258.636,V,,,,,,,231012,,,N
RMC sentence:$GPRMC,122259.636,V,,,,,,,231012,,,N

(la N del final indica que los datos no son válidos)

A alguien le ha pasado esto alguna vez??  alguna idea?
Muchas gracias.

Go Up