#include #include //подключение необходимых для работы библиотек TinyGPS gps; SoftwareSerial gpsSerial(8, 9); //номера пинов, к которым подключен модуль (RX, TX) bool newdata = false; unsigned long start; long lat, lon; unsigned long time, date; void setup(){ gpsSerial.begin(9600); // установка скорости обмена с приемником Serial.begin(9600); Serial.println("Waiting data of GPS..."); } void loop(){ if (millis() - start > 1000) //установка задержки в одну секунду между обновлением данных { newdata = readgps(); if (newdata) { start = millis(); gps.get_position(&lat, &lon); gps.get_datetime(&date, &time); Serial.print("Lat: "); Serial.print(lat); Serial.print(" Long: "); Serial.print(lon); Serial.print(" Date: "); Serial.print(date); Serial.print(" Time: "); Serial.println(time); }} } // проверка наличия данных bool readgps() { while (gpsSerial.available()) { int b = gpsSerial.read(); //в библиотеке TinyGPS имеется ошибка: не обрабатываются данные с \r и \n if('\r' != b) { if (gps.encode(b)) return true; } } return false; }