Buenas! Hoy estoy con un proyecto personal basado con la tecnología GPS.
La idea es poder sacar la ubicación y subirla a la nube.
Pero empezando por lo primero. No ocurre nada.
El modulo GPS es un UBOX NEO 6M, conectado con la MKR WIFI 1010. Conexión:
ARDUINO GPS
GND ------ GND
VCC --------VCC
14 TX ------ RXD
13 RX -------TXD
PPS (no pude encontrar que es)
El código que uso es el siguiente:
#include <TinyGPS++.h>
TinyGPSPlus gps;
void setup() {
Serial.begin(115200);
Serial1.begin(9600);
}
void loop() {
while (Serial1.available()) {
if (gps.encode(Serial1.read())) {
String msg = Serial1.readStringUntil('\r');
Serial.print(msg);
Serial.print("LAT="); Serial.println(gps.location.lat(), 6);
Serial.print("LONG="); Serial.println(gps.location.lng(), 6);
Serial.print("ALT="); Serial.println(gps.altitude.meters());
Serial.println(Serial1.read());
// Delay between updates
delay(2000);
}
}
}
Lo que obtengo en el puerto serie:
$GPGSV,4,1,16,01,30,02,3100,99.99,*48LAT=0.000000
LONG=0.000000
ALT=0.00
10$GPGSV,4,1,16,01,30,02,30,03,30,09,31*73LAT=0.000000
LONG=0.000000
ALT=0.00
10
Se repite constantemente.
Agregue en el código: Serial.println(Serial1.read()); para ver que dato es el que lee. y lo que veo es que entrega un valor de 10. lo que me parece raro…
Alguien sabe en donde le estoy errando?.
Otro dato, todavía tengo el proyecto en la pc de escritorio y no he podido sacar el modulo a la intemperie. tendrá algo que ver: