LINUX.ORG.RU

GPS навигатор на arduino

 ,


0

4

Всем привет. Для самодельного снегохода сделал на ардуине спидометр, тахометр и одометр. Было бы неплохо сделать и GPS навигатор. Но тут есть ньюансы, например я не представляю, как реализовать стрелку, которая будет указывать направление до точки. Порылся в инете и ничего не могу найти. Допустим GPS датчик присылает текущие координаты в виде текста по уарт, ладно, я их принимаю, парсю и знаю текущее местоположение, могу по кнопке отметить текущую точку. Но вот как мне сделать стрелку, которая бы показывала направление до выбранной точки? У меня давно был навигатор чёрно-белый, вот на нём была такая стрелка. Это очень удобно.

Ну и вопрос по карте. Допустим есть карта, могу взять SPI флеш память и залить эту карту туда. Как привязать карту к координатам и выводить на tft дисплей, но так, чтобы точки отображались, да и привязка к GPS координатам была?

★★★★★

Последнее исправление: burato (всего исправлений: 1)

Было бы неплохо сделать и GPS навигатор

Кажется в этом вообще мало смысла, а учитывая твои вопросы - рекомендую тебе этим не заниматься.

Но вот как мне сделать стрелку, которая бы показывала направление до выбранной точки?

Вариант 1: использовать электронный компас

Вариант 2: по последним точкам полученным с gps вычислить направление движения

Допустим есть карта, могу взять SPI флеш память и залить эту карту туда. Как привязать карту к координатам и выводить на tft дисплей, но так, чтобы точки отображались, да и привязка к GPS координатам была?

Вопрос в чем? Как по SPI с экраном общаться? Или как с gps координатами работать? Или вопрос по форматам хранения карт?

Tanger ★★★★★
()

Линейная алгебра. Вычитаешь из координат куда нужно приехать свои текущие координаты, потом полученный вектор нормализируешь. Это и есть твоя стрелочка.

Правда тебе ещё нужен электронный компас, чтобы знать куда смотрит нос снегохода и правильно развернуть стрелку. Но если ты движешься, то своё направление можно получить и без компаса. Просто по двум точкам.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Насколько я знаю тот чёрно-белый GPS трекер без движения вобще не работал и показывал как попало, его надо было подвигать, походить с ним, чтобы он правильно начал показывать

burato ★★★★★
() автор топика
Ответ на: комментарий от burato

Это другое. Без A-GPS у него долгий холодный старт. Нужно получить данные об орбитах спутников. Дело в этом, а не в хождении.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Правда тебе ещё нужен электронный компас, чтобы знать куда смотрит нос снегохода и правильно развернуть стрелку.

чтобы узнать куда смотрит нос достаточно двух последних координат

superuser ★★★★★
()
Ответ на: комментарий от ox55ff

А вот и нет. Можно было долго с ним ходить при отличной точности, но стоило остановиться и положить его как всё, стрелка больше не показывала корректно

burato ★★★★★
() автор топика
Ответ на: комментарий от burato

Ты про что? Если про координаты (а я говорю про них), то ходить не надо. Если про направление, то зависит от того как он сделан. Если нет встроенного компаса, то только в движении можно понять направление и тогда ходить надо. Но даже если есть компас, его обычно рекомендуют откалибровать путём вращения во всех плоскостях. Может быть ты своим движением его как раз калибруешь. Проще загуглить модель и посмотреть в характеристиках устройства.

ox55ff ★★★★★
()
Ответ на: комментарий от superuser

Я буквально это и написал. Ты не дочитал моё сообщение до конца и начал отвечать? Понимаю, у меня такое тоже бывает.

ox55ff ★★★★★
()

Но вот как мне сделать стрелку, которая бы показывала направление до выбранной точки?

В порядке священного безумия: мелкий шаговый двигатель с физической стрелкой на оси.

Mobutu_Sese_Seko
()

Там вроде не просто карта, а сложный граф, который хранит в себе информацию об объектах с привязкой к координатам. Причем карта может быть реализована различными способами, и надо искать документацию как работать с этим графом, ну а поиск пути по графу - это частности.

Silerus ★★★★
()
Ответ на: комментарий от burato

Например чтобы реализовать приборку в стиле дизельпанка. Можно расширить идею с шаговиком до свободно вращающейся магнитудой стрелки , а вокруг нее многополярный электромагнит(типа статора асинхронного электродвигателя). Включаешь попарно разные обмотки и у тебя стрелка поворачивается в нужную сторону

cobold ★★★★★
()

Чет не понял я проблемы. Если просто рисовать стрелку, по ходу движения (как навигаторы рисуют), то ты же знаешь пройденный путь з последние N метров/времени, во и знаешь свое направление движения.

Лучше про снегоход расскажи, это интересней.

urxvt ★★★★★
()
  1. У тебя есть твоя координата и координата цели. Вычислить вектор и нарисовать стрелку от одной к другой. Похоже немного на чуть ли не школьную задачу.

Если ты про позиционирование направления взгляда: тут надо либо компас встроенный использовать, либо определять направление движения по смене координат. Вот как Яндекс навигатор - пока не поедешь, он может думать, что ты в другую сторону мордой стоишь.

  1. Про карту очень сильно зависит от того, что за карта. Смотри ее спецификацию для начала. Можно начать с API Яндекса или Гугла, они позволяют свои карты так использовать, вроде бы. Но это не поможет с твоей картой, хотя мб принцип и будет немного похож.
Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Когда определил направление, берешь азимут от своего вектора к вектору на точку, и рисуешь стрелку, куда тебе держать направление.

Zhbert ★★★★★
()
Ответ на: комментарий от Mobutu_Sese_Seko

Мне было не понятно, как отрисовывать стрелку. Теперь с векторной алгеброй стало яснее.

burato ★★★★★
() автор топика
Ответ на: комментарий от superuser

чтобы узнать куда смотрит нос достаточно двух последних координат

жаль яндекс об этом не знает. Или крупные компании такими мелочами пренебрегают?)

TPPPbIHDELj
()
Последнее исправление: TPPPbIHDELj (всего исправлений: 1)
Ответ на: комментарий от burato

Будешь разлогиниваться и писать флуд из-под анонима - заморожу.

Dimez ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.