INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
GPS-Prezision
04.10.2014, 16:34
Beitrag #1
GPS-Prezision
Guten tag zusammen

ich Probiere gerade einen GPS-tracker mit einem Arduino Mega zu bauen.
Das auslesen der daten funktioniert soweit ganz gut nur habe ich ein Problem und zwar das die ausgelesenen Daten zu ungenau sind
Ich weis das mein GPS-shild die Daten genau genug liefert da ich es mal an einen Raspberry gehängt hab

ich bekomme momentan folgende daten

Latitude: 47368.432
Longitude: 7393.041

diese daten sind mehrere Kilometer von meinem standort entfernt hat jemand ne Idee wie ich das lösen kann

ich habe das Problem auch wenn ich das GPS an einem anderen Standort betreibe

hier mal mein code
Code:
#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>


Adafruit_GPS GPS(&Serial1);
HardwareSerial mySerial = Serial1;
#define GPSECHO  true

String gpsDaten;

void setup()  {

  Serial.begin(9600);
  delay(1000);

  GPS.begin(9600);
  GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
  GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
  GPS.sendCommand(PGCMD_ANTENNA);
  delay(1000);

// mySerial.println(PMTK_Q_RELEASE);
}

uint32_t timer = millis();
void loop()                     // run over and over again
{
  char c = GPS.read();
  // if you want to debug, this is a good time to do it!
  if ((c) && (GPSECHO))
  //  Serial.write(c);
  
  // if a sentence is received, we can check the checksum, parse it...
  if (GPS.newNMEAreceived()) {  
    if (!GPS.parse(GPS.lastNMEA()))   // this also sets the newNMEAreceived() flag to false
      return;  // we can fail to parse a sentence in which case we should just wait for another
  }

  // if millis() or timer wraps around, we'll just reset it
  if (timer > millis())  timer = millis();

  // approximately every 2 seconds or so, print out the current stats
  if (millis() - timer > 2000) {
    timer = millis(); // reset the timer
    
     float geschwindigkeit = GPS.speed * 1.852;
    
    Serial.print("Fix: "); Serial.print((int)GPS.fix);
    Serial.print(" quality: "); Serial.println((int)GPS.fixquality);
    
        Serial.print("Lat "); Serial.print(GPS.latitude*100);
    Serial.print(" Long "); Serial.println(GPS.longitude*100);
    
    
  // hier ist noch mehr code der hat jedoch nichts mehr mit dem Problem zu tuen
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste