Tranzystor.pl – Vortal Elektroniczny

Arduino – odczyt danych z GPS

Odczyt dajny z GPS czyli Global Positioning System jest stosunkowo łatwy. Podstawowy odczyt opisywałem we wcześniejszym wpisie Arduino – GPS NEO-6M. Tym razem dane trochę pookładamy odczytamy takie dane jak data oraz dokładna godzina oczywiście nie zapomnimy o pozycji.

Potrzebne komponenty:

Połączenie modułu GPS z Arduino

Moduł GPS NEO-6M komunikuje się  z Arduino poprzez komunikację szeregową za pomocą pinów TX i RX, mamy w sumie 4 przewody.

GPS NEO-6M Arduino
VCC 5V
RX Pin 3
TX Pin 4
GND GND

Kod programu:

//Pobrano z www.tranzystor.pl
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;

TinyGPSPlus gps;
SoftwareSerial tgps(RXPin, TXPin);

void setup(){
Serial.begin(9600);
tgps.begin(GPSBaud);
}

void loop(){
while (tgps.available() > 0){
gps.encode(tgps.read());
if (gps.location.isUpdated()){
Serial.print("Godzina = ");
Serial.print(gps.time.hour()+2); // +2 strefa dla Polski czas letni
Serial.print(" Minuta = ");
Serial.print(gps.time.minute());
Serial.print(" Sekunda = ");
Serial.println(gps.time.second());
Serial.print(F("Rok = "));
Serial.print(gps.date.year());
Serial.print(F(" Miesiąc = "));
Serial.print(gps.date.month());
Serial.print(F(" Dzień = "));
Serial.println(gps.date.day());
Serial.print("Szerokość = ");
Serial.print(gps.location.lat(), 6);
Serial.print(" Długość = ");
Serial.println(gps.location.lng(), 6);
}
}
}

Po wgraniu otwórz monitor szeregowy przy szybkości transmisji 9600.

Uzyskane informacje:

Godzina = 21 Minuta = 23 Sekunda = 14
Rok = 2020 Miesiąc = 8 Dzień = 26
Szerokość = 53.447334 Długość = 14.541328

Tak wiem, prze okazji pokazałem gdzie mnie można znaleźć. Pozdrawiam ze Szczecina, dokładniej z Niebka

5/5 - (2 ocena/y)
Exit mobile version