Raspberry Pi Pico ile GPS verilerimizi Loradan göndereceğimiz zaman boylam bilgisi gelmiyor sorunu bulamadık yardımcı olurmusunuz.
Teşekkürler
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial ss(4,3);
static void smartdelay(unsigned long ms);
String gpsData, gpsKonumStr, gpsSatelliteStr ,gpsAltitudeStr,yukData;
void setup() {
Serial.begin(9600);
ss.begin(9600);
}
void loop() {
gpsAltitudeStr = gpsAltitude();
gpsKonumStr = gpsKonum();
gpsSatelliteStr = gpsSatellite();
smartdelay(500);
dataGonder();
}
void dataGonder() {
gpsData = “|01”; //Cihaz İD
gpsData += “|GPS”;
gpsData += “|” + gpsSatelliteStr ; //Cihaz GPS gören anten sayısı
gpsData += “|” + gpsKonumStr + “|” ; //Cihaz kordinat
gpsData += “|” + gpsAltitudeStr + “|” ;
Serial.println(gpsData);
}
String gpsKonum() {
float flat, flon, invalid;
gps.f_get_position(&flat, &flon);
invalid = TinyGPS::GPS_INVALID_F_ANGLE;
if (flat == invalid || flon == invalid) {
return (“NULL”);
} else {
String latitude = String(flat, 6);
String longitude = String(flon, 6);
return (latitude + ” ” + longitude);
}
}
String gpsSatellite() {
float satellite, invalid;
satellite = gps.satellites();
invalid = TinyGPS::GPS_INVALID_SATELLITES;
if (satellite == invalid) {
return (“NULL”);
} else {
return (String(satellite));
}
}
String gpsAltitude(){
float gpsAltitude , invalid;
gpsAltitude = gps.altitude() ;
invalid = TinyGPS::GPS_INVALID_ALTITUDE;
if (gpsAltitude == invalid) {
return (“NULL”);
} else {
return (String(gpsAltitude/1229.0000)); }
}
static void smartdelay(unsigned long ms) {
unsigned long start = millis();
do {
while (ss.available())
gps.encode(ss.read());
} while (millis() – start < ms);
}