Arduino для BAIT BOAT...

esau
Панкратов_Сергей:

Подобные этому-

Или обосновывайте, что же в ардуинке мешает решить такую простую задачу…
То что не вышло у вас- это же не значит что это невозможно .

Немного не понял причем тут плавающая запятая . Считываем одной ардуиной координаты и по радиоканалу скидываем на вторую . При длине строки в 20 символов думаю уместится все с головой .

Панкратов_Сергей
esau:

Немного не понял причем тут плавающая запятая .

Спросите appolinari, зачем ему это нужно.

esau:

Считываем одной ардуиной координаты и по радиоканалу скидываем на вторую .

А зачем? Какую задачу вы решаете?

esau
Панкратов_Сергей:

Какую задачу вы решаете?

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

шува
esau:

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

Ставите ОСД+МОДЕМ подключаете к планшету или мобильнику с М.П. И УСЁ…Координаты у ВАС есть.

appolinari
esau:

Немного не понял причем тут плавающая запятая

Если не использовать готовых библиотек для gps модуля, то не причём.
Если использовать, то вы получаете координаты в виде “float”. А этот тип данных работает в среде ардуино не корректно, как объясняется на сайте, на который вы можете попасть пройдя по ссылке, которую для некоторых, слишком одарённых, приходится давать по три 😉 раза, видимо из за надуманности моих проблем.
Из за ошибок, при работе с “float”, вы получаете координату, которая отстоит от реальной точки на довольно значительное расстояние. Если обойти float, например получать данные на прямую с модуля, минуя gps библиотеки, то можно этого избежать.
Ради эксперимента можете сделать простенький скетч, который будет выводить вам данные gps библиотеки и данные идущие на прямую с gps, которые мы получаем в строковом формате. А вот как использовать эти данные нам (надеюсь) расскажет Сергей Панкратов. Поскольку среди присутствующих он единственный имеет :

Панкратов_Сергей:

совсем немного знаний, чтобы так не делать при выполнении поставленной задачи.

Probelzaelo
appolinari:

Из за ошибок, при работе с “float”, вы получаете координату, которая отстоит от реальной точки на довольно значительное расстояние.

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

V_Alex
Панкратов_Сергей:

Сколько же в вас желчи.

Нужно просто принять за правило: советовать только по тем вопросам, с решением которых сталкивался лично. Тогда желчь будет расходоваться по прямому назначению - на уху и шашлыки 😃

Панкратов_Сергей
V_Alex:

Нужно просто принять за правило: советовать только по тем вопросам, с решением которых сталкивался лично.

Ключевое слово- “решение”. Решал или знаешь решение.

V_Alex

Знание нюансов приходит только с практикой. Иметь решение и знать решение - это несколько разные вещи. Знание часто оказывается иллюзией. Речь опять идет о библиотеках Ардуино. Похоже, что как в случае с обработкой сервоимпульса, так и с обработкой GPS-координат, ребята предлагают процесс вместо результата 😃

Probelzaelo
V_Alex:

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

Иногда результат не интереснее процесса.

V_Alex:

Нужно просто принять за правило:

“Сайт RC Design создан для общения людей, увлеченных моделизмом.” (С)Общая информация
Во всяком случае, уверен, так считает большинство присутствующих здесь.

V_Alex:

советовать только по тем вопросам, с решением которых сталкивался лично.

Господа, вам не кажется что если обсуждать только решения и вопросы с которыми уже кто то сталкивался. То все вопросы можно свести к энциклопедии.
А все с которыми еще не сталкивались это уже вообще не тема для обсуждения, пока РАН не его опубликует?
Давайте, уже огласим весь список знаний и отдельный список Табу, назначим главного по каждому вопросу и будем задавать вопросы напрямую, вернее писать заявку на получение ответа, раздадим квоты на выдачу рекомендаций, общаться будем через МФЦ, короче вообще прекратим тут появляться. Останутся два гордых кладовщика-сенсея.
В таком режиме рискуем превратиться в клуб любителей “Моделист конструктор” за какие то достаточно прошлые годы.
Может в конце концов принять за правило другое - делиться имеющимся решением, а не сыпать мусор на параллельные пути?

Стыдно, господа! Стыдно, делать столь умные фигуры пальцами, но при этом держать руки в карманах, чтоб ни дай бог кто то не увидел.

appolinari
Probelzaelo:

Получайте данные от GPS модуля напрямую

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

Панкратов_Сергей
appolinari:

Проблема в том, что при обработке их в среде ардуино,

Наверно уже в сотый раз:
Ардуина тут не причем. Это проблема человека, взявшего какую то стороннюю библиотеку - и пишущего теперь о том что в среде ардуино не решить задачу.
“Ардуино” не равно “сторонняя библиотека”. Ардуино прекрасно обходится без сторонней библиотеки.
Сложного то тут ничего нет-
Принимаете строку с GPS, парсите ее представляя координаты целым числом, работаете далее с этими числами.
Дискретность представления при оперировании 4-х байтным числом будет менее 1 см.
40 000 км/ (256*256*256*256) = 0.009 метра
Пропарсили, получили координаты в пупугаях. Можно вычислить разницу в пупугаях меж широтами и долготой настоящего положения и положения заданной точки. То есть с большими цифрами работаем как с целыми .
Коэффициенты соответствия разниц этих попугаев истинному расстоянию нам известны. Тут уже можно считать с запятыми, на точность уже влияния не окажет.
Легко находим курсы, расстояния.
Все это сделать- ардуина не мешает.

V_Alex
Probelzaelo:

Давайте, уже огласим весь список знаний и отдельный список Табу, назначим главного по каждому вопросу и будем задавать вопросы напрямую, вернее писать заявку на получение ответа, раздадим квоты на выдачу рекомендаций…

Э-э-э, я какбэ не пытаюсь как-то ограничить Вас в общении. Просто в рамках того-же общения я изложил свою точку зрения на формирование срачей на пустом месте в технической теме 😃
Кто-то разбирается в одних вопросах и не разбирается в других. Обсуждая с Вами обработку сервоимпульса, я исхожу из того, что владею данной темой в достаточном объеме безотносительно к библиотекам Ардуино.
При обсуждении вопросов по GPS я спокойно отхожу в сторонку и читаю то, что пишут другие. Тут моих знаний недостаточно даже для того, чтобы оценить компетентность собеседника. Если я чего-то не знаю, я совершенно спокойно об этом пишу или говорю. Если вижу, что кто-то разбирается в вопросе лучше меня - спрашиваю. Чего и другим желаю 😃

Панкратов_Сергей:

40 000 км/ (256*256*256*256) = 0.009 метра

Я правильно понимаю, что нужно дробные километры перевести в целые сантиметры или миллиметры, перевести в двоичный вид, получить целочисленное четырехбайтное значение, а потом с ним можно делать, что угодно?

Probelzaelo
appolinari:

при обработке их в среде ардуино, я получаю точку на карте, которая постоянно перемещается.

Не думаю что открою тайну, но точка на карте перемещается не только при обработке Ардуиной. Я вообще ни одного устройства не знаю на котором бы эта самая точка не “прыгала”, таковы особенности любого измерения. Всякого рода программы и навигаторы если показывают положение в виде стабильной точки, то они сами усредняют место положения своей математикой.

V_Alex:

Э-э-э, я какбэ не пытаюсь как-то ограничить Вас в общении.

Не сомневаюсь, просто так уж прозвучало несколько постов подряд…
Реально нет желания не только участвовать но и присутствовать при подобных видах “обсуждений” см. посты #456 - #469.
Из 15 постов кроме какого то глумления есть что то по вопросу?
“Читайте по губам - нОУ”(С)

Панкратов_Сергей
V_Alex:

Я правильно понимаю, что нужно дробные километры перевести в целые сантиметры или миллиметры, перевести в двоичный вид, получить целочисленное четырехбайтное значение, а потом с ним можно делать, что угодно?

Не совсем.
Сначала в попугаи ( 4-х байтное целое число), затем их разница, в 4-х байтном целом представлении…
А уже затем исходя из “веса” попугаев долготы и широты - получаем расстояния и углы-направления, тут можно делать даже парой байт, с запятой
Отъехать нужно, если нужно- подробнее потом.

appolinari
Панкратов_Сергей:

Наверно уже в сотый раз:
Ардуина тут не причем. Это проблема человека, взявшего какую то стороннюю библиотеку - и пишущего теперь о том что в среде ардуино не решить задачу.

Я писал о том что среда ардуино не верно работает с типом “float”. То как вы это поняли - ваше личное дело.
А про вычисления в поругаях - интересно. Буду ждать подробностей.

yus12
Панкратов_Сергей:

Наверно уже в сотый раз:

Принимаете строку с GPS, парсите ее представляя координаты целым числом, работаете далее с этими числами.
Дискретность представления при оперировании 4-х байтным числом будет менее 1 см.
Все это сделать- ардуина не мешает.

Для большинства чипов точность до 2 метров. Если брать ублоксы с префиксом P точность будет до 2 сантиметров.

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

Probelzaelo
yus12:

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

При этом каждый новый замер прибавляем к буферу(очереди), а самый старый ставший 11 отнимаем, и так по кругу, по принципу fifo , чтобы реально усреднить выборку и не привязываться к каждой отдельной десятке. Еще очень не лишним будет вообще выкидывать из учета самые крайние значения замеров экстремумы, самые минимумы и самые максимумы - выбросы, тк в них практически гарантировано лишь дополнительная погрешность.

yus12
Probelzaelo:

При этом каждый новый замер прибавляем к буферу(очереди), а самый старый ставший 11 отнимаем, и так по кругу, по принципу fifo , чтобы реально усреднить выборку и не привязываться к каждой отдельной десятке. Еще очень не лишним будет вообще выкидывать из учета самые крайние значения замеров экстремумы, самые минимумы и самые максимумы - выбросы, тк в них практически гарантировано лишь дополнительная погрешность.

я думаю просто записывать мочив получая индекс остатком от деления, крайние значения откидывает сам чип GPS. Интересует так же как долго человек делал замеры. По своему опыту скажу, что данные от чипа идут стабильные примерно через 10 минут после старта. Сначала он ловит какие-то непонятные спутники на окраинах, а примерно через десять минут ловит спутники над головой. Это хорошо видно, если подключить чип к компьютеру.

Еще обратил бы внимание на то, что большенство библиотек отрабатывает именно gps координаты. Ублоксы 8 поколения хорошо выдают gps+Глонасс, а он имеет другие префиксы в начале строки координат.

Для того, чтобы серийный порт не особо тормозил плату (в большинстве примеров в цикле ожидается значение от серийного порта). Если увеличить скорость с 9600 до 115200 думаю скорость обработки так же будет существенно выше. Я лично сейчас перешел на stm32, там отлично помогает DMA и настройка всевозможных прирываний.