Search wiring.org.co:

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