LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Asilva em 21 de Julho de 2012, 14:42

Título: Problema receber dados do GPS MediaTek MT3329 com Arduino Uno
Enviado por: Asilva em 21 de Julho de 2012, 14:42
Tenho um Arduino Uno e comprei recentemente um "MediaTek MT3329 GPS" e não consigo receber os dados desse modulo GPS.
já tentei utilizar o software que é fornecido onde põem à venda o GPS http://store.diydrones.com/MediaTek_MT3329_GPS_10Hz_Adapter_Basic_p/mt3329-02.htm (http://store.diydrones.com/MediaTek_MT3329_GPS_10Hz_Adapter_Basic_p/mt3329-02.htm) mas o software está feito para Arduino com mais que uma porta de serie. já tentei integrar a livraria SoftwareSerial iniciando a porta do GPS a 38400 mas não consegui obter resultados positivos.
O que eu realmente pretendia era mudar o firmware de MTK para NMEA http://diydrones.com/forum/topics/mediatek-mt3329-gps-problem (http://diydrones.com/forum/topics/mediatek-mt3329-gps-problem) talvez alguem possa-me ajudar a fazer isso, pois, todas as livrarias que quero utilizar (por ex: TinyGPS) usam o protocolo NMEA.
como os meus conhecimentos nestas materias são basicos agradecia mesmo a vossa ajuda para resolver este problema.
Título: Re: Problema receber dados do GPS MediaTek MT3329 com Arduino Uno
Enviado por: Asilva em 22 de Julho de 2012, 18:09
bem, estou cheio de queimar pestanas e nada de progressos.
encontrei umas bibliotecas que me pareceram interessanteshttp://code.google.com/p/ardu-imu/downloads/detail?name=ArduIMU_1.9.zip&can=2&q= (http://code.google.com/p/ardu-imu/downloads/detail?name=ArduIMU_1.9.zip&can=2&q=), fiz umas pequenas alterações no codigo na esperança de o utilizar
Código: [Seleccione]
#include <SoftwareSerial.h>
#include <FastSerial.h>
#include <AP_GPS_NMEA.h>
#include <stdio.h>
SoftwareSerial ss(3, 4);
FastSerialPort0(Serial);
FastSerialPort1(ss);

AP_GPS_NMEA gps(&ss);
#define T6 1000000
#define T7 10000000

void setup()
{
Serial.begin(115200);
ss.begin(38400);
stderr = stdout;
gps.print_errors = true;

Serial.println("GPS NMEA library test");
gps.init(); // GPS Initialization
delay(1000);
}

void loop()
{
delay(20);
gps.update();
if (gps.new_data){
Serial.print("gps:");
Serial.print(" Lat:");
Serial.print((float)gps.latitude / T7, DEC);
Serial.print(" Lon:");
Serial.print((float)gps.longitude / T7, DEC);
Serial.print(" Alt:");
Serial.print((float)gps.altitude / 100.0, DEC);
Serial.print(" GSP:");
Serial.print(gps.ground_speed / 100.0);
Serial.print(" COG:");
Serial.print(gps.ground_course / 100, DEC);
Serial.print(" SAT:");
Serial.print(gps.num_sats, DEC);
Serial.print(" FIX:");
Serial.print(gps.fix, DEC);
Serial.print(" TIM:");
Serial.print(gps.time, DEC);
Serial.println();
gps.new_data = 0; // We have read the data
}
}
  já tinha feito várias tentativas de codigo sem utilizar a livraria FastSerial  e nada, depois de muitas pestanas queimadas achei que esta livraria faria a diferença mas ao compilar o codigo tenho o erro: "GPS_NMEA_test.pde:-1: error: expected constructor, destructor, or type conversion before '(' token".
Alguma sugestão para este iniciante, ou até mesmo algum comentário que me leve a procurar novos caminhos???..., é que estou mesmo a precisar de obter dados do Gps (com o Arduino uno).
desde já o meu obrigado pela vossa atenção e as minhas desculpas por alguma ignorancia demonstrada.
Título: Re: Problema receber dados do GPS MediaTek MT3329 com Arduino Uno
Enviado por: Asilva em 22 de Julho de 2012, 19:20
Bem colegas, esteve sempre à minha frente desde o inicio, e, só o meu pouco entender de Ingles e descuido completo para levar tanto tempo.
foi só colocar as seguintes linhas de codigo no ficheiro *****.pde :
#define MTK_SET_BINARY "$PGCMD,16,0,0,0,0,0*6A\r\n"
#define MTK_SET_NMEA "$PGCMD,16,1,1,1,1,1*6B\r\n"
e já rola com as livrarias da TinyGPS.

Simple TinyGPS library v. 12
by Mikal Hart

LAT=41.536998 LON=-8.708500 SAT=9 PREC=109
 CHARS=122 SENTENCES=1 CSUM ERR=0
LAT=41.536998 LON=-8.708500 SAT=8 PREC=123
 CHARS=409 SENTENCES=2 CSUM ERR=2
LAT=41.536998 LON=-8.708500 SAT=9 PREC=109
 CHARS=594 SENTENCES=3 CSUM ERR=2
LAT=41.536998 LON=-8.708500 SAT=9 PREC=109
 CHARS=775 SENTENCES=4 CSUM ERR=2

Desculpem-me pelo tempo que vos ocupei, e, espero que esta inf. seja util para alguém.
Título: Re: Problema receber dados do GPS MediaTek MT3329 com Arduino Uno
Enviado por: Sérgio_Sena em 22 de Julho de 2012, 21:02
O importante é já estar a funcionar! :)