Всем привет. Не знаю, как оформить пока. Натолкнулся на старую тему, Как постичь непостижимое | Аппаратная платформа Arduino, где хорошо описан принцеп, но с данными, получаемыми от одного модуля, никак не пойму, как вытянуть нужные, долготу и широту.
Найти начала и концы нужных фрагментов, вырезать их и…
Настройте мониторпорт должным образом.
И что тут выглядит как “черте че”?
Нормальная NMEA.
не надо показывать то, что нормально.
Покажите как выглядит “черти что”
Не нужно картинками, скопируйте текстом.
- неверно выбран контроллер
ИЛИ
- неправильно написан скетч
Есть же готовые библиотеки, из которых любые данные берутся просто сразу. Или надо какую-то экзотику?
Мне вот надо скорость - она там готовая, программа для школьников.
Ни одна из перепробованных не выдает данные.
Вы о чём… Там, код в две строчки
#include <SoftwareSerial.h>
SoftwareSerial gps(4,5);
void setup() {
Serial.begin(115200);
gps.begin(9600);
}
void loop() {
if (Serial.available()) gps.write(Serial.read());
if (gps.available()) Serial.write(gps.read());
}
Ну дэк Вы опрашиваете постоянно гпс модуль и постоянно выводите. Так и должно быть. Нужен пример про “ни одну нормально работающую библиотеку”. Здесь у Вас только сериал, и она работает нормально.
Запитал gps от ардуины штоли.
У меня вот эта:
#include <TinyGPS++.h>
TinyGPSPlus gps;// Создаем объект GPS
void loop() {
while (Serial1.available() > 0) {
if (gps.encode(Serial1.read())) {
// Serial.print("Satellites use: ");Serial.println(gps.satellites.value()); // Number of satellites in use (u32)
// delay(1000);
// Если есть данные
if (gps.location.isValid() && gps.date.isValid() && gps.time.isValid() && gps.speed.isValid()) {
// Выводим координаты
Serial.print("Latitude: ");
Serial.print(gps.location.lat(), 6);
Serial.print(" Longitude: ");
Serial.println(gps.location.lng(), 6);
// Выводим время
Serial.print("Time: ");
Serial.print(gps.time.hour());
Serial.print(":");
Serial.print(gps.time.minute());
Serial.print(":");
Serial.println(gps.time.second());
// Выводим скорость
Serial.print("Speed: ");
Serial.print(gps.speed.kmph());
Serial.println(" km/h");
delay(1000);
}
}
}
}
Если не первый день, то логический анализатор в параллель и смотрим - чексуммы на шине наблюдаются или нет.
Сам GPS ловит? Мигает 1гц? В Мск не ловит, например.
Какой модуль, как подключен? У меня было так- бросил на подоконник, он молчит, мигает светодиодом, но не показывает. Утром решил продолжить, включил- а он как пошел-пошел… и нормально.
это нормально.
После долгого простоя или после переезда в другую часть планеты ГПС-у нужно обновить атлас спутников, это занимает до неских часов
Он о том, что у Вас проблема. А уж в двух она строчках или в одной – это Вам виднее.
Это кусок кода из примера, не Ваш. Как Вы его вставляете? Нужен Ваш код. Приемник и сериал работает, мы уже поняли. А код?
Хрена себе )))