Autor Tema: GPS con PIC  (Leído 2398 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
GPS con PIC
« en: 09 de Agosto de 2004, 07:07:00 »
He encontrado esta interesante página en la que se describe cómo conectar un PIC a un receptor de GPS.

Por lo que veo, el GPS es muy barato, sólo 20$. ¿Alguno de vosotros lo ha probado o ha oído hablar de él?, ¿consideráis que es recomendable?


Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: GPS con PIC
« Respuesta #1 en: 09 de Agosto de 2004, 08:47:00 »
Se te olvidó poner el enlace


Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: GPS con PIC
« Respuesta #3 en: 09 de Agosto de 2004, 15:37:00 »
Tiene buena pinta.
No veo el precio por ningún sitio,pero me extraña muchísimo que sea tan barato.Sólo la antena puede costar eso.
Los hay de mano,ya con su puerto serie y sus cosas para no complicarse con encapsulados endiablados ni montajes aparatosos,que pueden salir entre 120 y 150 euros.No está nada mal ya que únicamente el integrado receptor gps,con su placa o sin ella te va a costar lo mismo o más.
Aquí hay otro ejemplo parecido pa que le echen un vistazo,está todo menos el código,qué cosas...
http://avisadorgsm.iespana.es/avisadorgsm/index.htm
Saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: GPS con PIC
« Respuesta #4 en: 09 de Agosto de 2004, 17:15:00 »
Tienes razón, el precio no aparece más que en el nombre. Lo mismo es una estrategia de marketing.

Desconectado electro85

  • PIC10
  • *
  • Mensajes: 9
Re: GPS con PIC
« Respuesta #5 en: 24 de Octubre de 2008, 15:46:03 »
Hola gente de todopic hace muecho tiempo que estoy renegando para que mi modulo gps de parallax me muestre algun dato concreto en un lcd y no hay forma aca te muestro el programa.... lo unico que quiero hacer es ver si anda, por eso quiero mostrar solamente los 16 caracteres que hay despues del $GPRMC,....
 
 
#INCLUDE <16F877.H>
#use delay(clock=20000000)
#use RS232(BAUD=4800,RCV=PIN_C7,XMIT=PIN_C6,PARITY=N,BITS=8)
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT

#include <lcd.c>

int j;
int i;
char cadena[17];


#int_rda
void recepcion_serie()    {
   printf(lcd_putc,"\fConectando...\n"); // Esto lo escribiría cada vez q se interrumpiese
   if(getc() == 'C')
   {
   if(getc() == 0x2C){
   for(j = 0; j<16; j++)
   {
      cadena[j] = getc();
   }
   }   }
   }


void main()

   {
   j=0;
   i=0;
   lcd_init();
   printf(lcd_putc,"\fGPS\n"); 
   delay_ms(2000);
   enable_interrupts(GLOBAL);
   enable_interrupts(INT_RDA);
   while( j < 16 ) // No salimos hasta que tengamos 16 caracteres en el array
    {
    if(j == 16)
      {
      disable_interrupts(INT_RDA);
      }
    }
   lcd_putc('\f');
   delay_ms(100);
   printf(lcd_putc,"longitud:\n");
   for (i=0;i<16;i++){
   printf(lcd_putc,"%c",cadena); //los tengo q mostrar en ascii
      }
   delay_ms(5000);
   for(;;) {}
  }

 

Estes el el programa, en la interrupcion le pregunto si llego 'c' y luego 'la coma' debido a que los datos que manda el gps segun la hoja de datos NMEA 083 son similares a los siguientes:

$GPGGA,170834,4124.8963,N,08151.6838,W,1,05,1.5,280.2,M,-34.0,M,,,*75

$GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*34

$GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74

$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70

pero se me queda todo el tiempo en "conectando..." le probe cambiar el cristal, antes estaba usando uno de 4 mhz y ahora uso uno de 20mhz y una vez empece a tirarle reset reset y me salto un dato pero no era igual a los del codigo... nose que puede ser...

vos por las dudas no sabes si el problema puede ser el del codigo? si logro ver algo que me llegue despues los cargo en un array mas grande y hago un menu que aprete pulsadores y se vea cada cosa pero no puedo lograr los basico.

en esta direccion esta el pdf del modulo-->www.grandideastudio.com/wp-admin/uploads/gps_manual.pdf

Desde ya muchas gracias...

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: GPS con PIC
« Respuesta #6 en: 24 de Octubre de 2008, 16:01:04 »
Parece que te quedas indefinidamente dentro de este bucle (no incrementas el valor de "j"):

while( j < 16 ) // No salimos hasta que tengamos 16 caracteres en el array
    {
    if(j == 16)
      {
      disable_interrupts(INT_RDA);
      }
    }

Deberías hacer un uso más local de las variables. Usando la misma variable en distintos sitios para labores que nada tienen que ver entre sí hace el programa más difícil de depurar
« Última modificación: 24 de Octubre de 2008, 16:05:09 por Modulay »