Modificar datos GPS


hola todos,

estoy realizando un pequeño proyecto con un gps que debe mostrar una serie de valores por pantalla, como por ejemplo la fecha, hora, latitud y longitud.

el problema es que en el caso de la fecha y la hora, el gps muestra los datos de esta manera por defecto:
fecha:  03032014
hora: 173445.35

me gustaría modificar esos valores para que sean más "vistosos" y facilitar su lectura en pantalla, por ejemplo:
fecha: 03/03/2014
hora: 17:34:45

¿es esto posible? adjunto el código que estoy usando:
code: [select]

#include <geniearduino.h>  //incluye la librería de la pantalla
#include <softwareserial.h>  //incluye la librería del gps


softwareserial gpsserial(10, 11); // tx, rx (rx not used)
const int sentencesize = 80;
char sentence[sentencesize];
int curso;

void setup()
{
  geniebegin (genie_serial, 9600);  //serial0 comunicación con la pantalla
  gpsserial.begin(9600);  //comunicación con el gps

}



void loop()
{

  static int = 0;
  if (gpsserial.available())
  {
    char ch = gpsserial.read();
    if (ch != '\n' && < sentencesize)
    {
      sentence[i] = ch;
      i++;
    }
    else
    {
     sentence[i] = '\0';
     i = 0;
     displaygps();
    }
  }   
}


void displaygps()
{
  char field[20];
 
  getfield(field, 0);
  if (strcmp(field, "$gprmc") == 0)
  {
    getfield(field, 9);  // fecha
    geniewritestr(0,field); //comando para mostrar la fecha por pantalla en un string
   
    getfield(field, 1);  // hora
    geniewritestr(1,field); // comando para mostrar la hora por pantalla en un string
   
    getfield(field, 3);  // latitud
    geniewritestr(2,field);
    getfield(field, 4); // n/s
    geniewritestr(3,field);

   
    getfield(field, 5);  // longitud
    geniewritestr(4,field);
    getfield(field, 6);  // e/w
    geniewritestr(5,field);
   
}


void getfield(char* buffer, int index)
{
  int sentencepos = 0;
  int fieldpos = 0;
  int commacount = 0;
  while (sentencepos < sentencesize)
  {
    if (sentence[sentencepos] == ',')
    {
      commacount ++;
      sentencepos ++;
    }
    if (commacount == index)
    {
      buffer[fieldpos] = sentence[sentencepos];
      fieldpos ++;
    }
    sentencepos ++;
  }
  buffer[fieldpos] = '\0';

}


gracias.

hay que leerse los manuales de arduino o buscar por internet. son cosas básicas

string fecha="03032014";
string dia="";
string mes="";
string anyo;


  dia=fecha.substring(0,2);
  serial.print(dia);
  serial.print("/");
   mes=fecha.substring(2,4);
   serial.print(mes);
   serial.print("/");
   anyo=fecha.substring(4,8);
   serial.println(anyo);

jopapa
www.jopapa.me


Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Modificar datos GPS


arduino

Comments

Popular posts from this blog

VIDIOC_S_FMT error 16, Device or resource busy - Raspberry Pi Forums

using a laptop skeleton to build a pi laptop - Raspberry Pi Forums

Forum for Joomla? - Joomla! Forum - community, help and support