Librerías \ NMEA

Referencia para la versión de Wiring 1.0 Build 0100+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Clase

NMEA

Nombre

gprmc_course_to()

Ejemplos
#include <nmea.h>

NMEA gps(GPRMC);  // GPS data connection to GPRMC sentence type
float d;          // relative direction to destination

// destination coordinates in degrees-decimal
float dest_latitude = 48.858342;
float dest_longitude = 2.294522;

void setup() {
  Serial1.begin(4800);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}

void loop() {
  if (Serial1.available() > 0 ) {
    // read incoming character from GPS
    char c = Serial1.read();

    // check if the character completes a valid GPS sentence
    if (gps.decode(c)) {
      // check if GPS positioning was active
      if (gps.gprmc_status() == 'A') {
        // calculate relative direction to destination
        d = gps.gprmc_course_to(dest_latitude, dest_longitude) - gps.gprmc_course();
        if (d < 0) { d += 360; }
        if (d > 180) { d -= 360; }
        // set LEDs accordingly
        if (d < 5) {
          digitalWrite(8, HIGH);
        } else {
          digitalWrite(8, LOW);
        }
        if (d > -5) {
          digitalWrite(9, HIGH);
        } else {
          digitalWrite(9, LOW);
        }
      }
    }
  }
}
Descripción Retorna la dirección (en grados) desde el GPS a una posición dada. Norte es 0o, Este es 90o, Sur es 180o, Oeste es 270o. Por ejemplo, gprmc_course_to(48.858342, 2294522) retorna la dirección desde su posición a la Torre Eiffel en París (Francia). Si este valor es 319.01, entonces la Torre Eiffel está aproximadamente al Nor-Oeste suyo. Note que la dirección retornada es independiente de su dirección de movimiento. Si desea navegar en dirección a la Torre Eiffel, la dirección relativa a su propia dirección de movimiento es calculada de la siguiente manera:
float rel_dir = gps.gprmc_course_to(48.858342, 2294522) - gps.gprmc_course();
if (rel_dir < 0.0) {
rel_dir += 360.0;
}
EL curso entre posiciones es calculado sobre sus arcos conectados en un esfera perfecta. No se toma en cuenta variaciones de altura en el terreno, y que la Tierra no es una esfera perfecta. Como resultado, calcular el curso puede estar desfazado por una pequeña fracción.
Sintaxis
gprmc_course_to(latitude, longitude)
Parámetros
latitude float
longitude float
Retorna float
Uso Application
Updated on July 07, 2011 11:15:52pm PDT

Creative Commons License