Автопилот Arduplane - открытое ПО
У меня есть оба варианта 😃
Полезно будет в любом случае.
[QUOTE=Artie;1320073ЗЫ: Только я это буду делать для обработки NMEA, как самого универсального протокола, ну и чтобы тот же поток в любую телеметрию скармливать можно было.
).[/QUOTE]
Вопрос от дилетанта-
Пытаюсь освоить программирование.
Есть ли смысл в Ардуино - или лучше сразу Си и не терять времени, про ассемблер не спрашиваю?
Насколько Ардуино ограничит возможности?
Есть ли смысл в Ардуино - или лучше сразу Си и не терять времени, про ассемблер не спрашиваю?
Дык, оно на сях и сделано (вернее, даже на плюсах, что для данного конкретного применения - скорее минус, чем плюс (“Калабур-с, господа !” 😃)
На самом деле, насколько я успел понять, ардуино - это “комплект” из следующих трех вещей:
- Готовая платка с однокристаллкой, в которую зашит загрузчик. - Позволяет ничего не паять (точнее, паять только то, что ты вешаешь снаружи), и не заботиться о программаторе.
- Оболочки для avr-gcc (написанной на жабе, поэтому тупой и тормозной). - Позволяет в один клик скомпилить программу и залить ее в однокристаллку.
- Библиотек, “абстрагирующих” пишущего от всего железа и дающих некий набор более высокоуровневых функций, вроде обмена по I2C, работы с индикаторами, шаговыми двигателями, сервомашинками, и даже с ethernet’ом.
Непосредственно программы пишутся на сях/плюсах, да и ассемблерные вставки тоже не заказаны, благо все это - не “фича” самого адруино, а возможности совершенно штатного gcc.
Насколько Ардуино ограничит возможности?
Как составная часть некоего законченного продукта (например, то же автопилота) - с моей точки зрения, оно никуда не годится (сразу по многим причинам), но вот именно для обучения эмбеддерству (не профессиональному, а так, “для дома, для семьи”) - я считаю, что это платформа практически идеальная.
… Поскольку для начала, эффективность кода - вещь, в общем, не самая важная, а вот возможность практически с первого же дня начать крутить какой-нибудь сервой или ШД, измерить какое-нибудь напряжение и выбросить его значение в красивом текстовом виде в терминалку (встроенную в оболочку), не вдаваясь в изучение периферии однокристаллки, ее ассемблера, процедуры ее программирования, и так далее, - для начинающего штука достаточно ценная…
Самое же правильное в ардуино именно то, что при всей простоте освоения, оно позволяет учиться писать сразу на нормальном языке, а не на разнообразных ублюдках, вроде пикбэйсика, а в дальнейшем - по мере обучения - ничто не мешает отказаться от оболочки и от “плохих” функций работы с железом, благо в основе у него - полноценный кросскомпайлер и открытые сорсы тех же библиотек.
(Например, мне не понравилось то, что в сериальной библиотеке нельзя проконтролировать переполнение приемного буфера или проверить ошибки приема. - Можно было, разумеется, и написать все эти функции с нуля, и портировать их из какого-нибудь старого проекта, но это заняло бы, как минимум, полдня. А так - три минуты на поиск сорсов, еще три на правку, - и у класса HardwareSerial появился новый метод - status…)
Спасибо,понятно.
Меня смущало наличие
некий набор более высокоуровневых функций
Больше плюсов в этом или минусов?
Что более быстро можно обучиться - это ясно.
А вот не послужит ли это тормозом в дальнейшем в написании более эффективных кодов, без использовании этих высокоуровневых функций?
Теперь сомнения сняты.😃
Попробовал “софтовый” полёт в X-Plane и Goole Earth. Забавно 😃
Что более быстро можно обучиться - это ясно.
А вот не послужит ли это тормозом в дальнейшем в написании более эффективных кодов, без использовании этих высокоуровневых функций?
Нет, конечно.
Библиотеки - это такие штуки, которыми можно не пользоваться, если не хочешь. 😁
А когда они еще и открытые, то переход (в любую сторону) становится вообще настолько плавным, насколько пожелаешь.
Не понимаю, для чего столько траха с памятью, попытками вычистить чужой корявый код и прочим на ардуино, когда можно взять набор
ATUSBKEY с AT90USB1287 на борту - 128к памяти, 8к оперативки, 2к EEPROM, 16 МБ внешней памяти, нативный USB интерфейс, USB бутлоадер, и ничего паять не надо. Все Атмеговские прелести в виде 8 каналов АЦП, SPI, USART и прочая и прочая - в наличии. AVR GCC и стопицот сторонних библиотек, если надо - в наличии.
Не понимаю, для чего столько траха с памятью, попытками вычистить чужой корявый код и прочим на ардуино, когда можно взять набор ATUSBKEY с AT90USB1287 на борту - 128к памяти, 8к оперативки, 2к EEPROM, 16 МБ внешней памяти, нативный USB интерфейс, USB бутлоадер, и ничего паять не надо. Все Атмеговские прелести в виде 8 каналов АЦП, SPI, USART и прочая и прочая - в наличии. AVR GCC и стопицот сторонних библиотек, если надо - в наличии.
Если разговор о собственно железяке, то вот лично мне USB нафиг не нужен, а ничем более принципиальным оно не отличается. И “гигазы” памяти мне тоже не нужны.
С точки же зрения софта, это - готовый open-source проект (пусть и кривой, но все-таки работающий), с которого многим значительно проще начинать делать что-то свое.
Лично я купил эту платку только потому, что это значительно дешевле и быстрее, нежели заказывать изготовление такой же своей собственной, и чуть аккуратнее, чем на макетке МГТФом. А про то, что такое ардуино, я узнал уже после того, как приехала плата 😛 (бо мне это было достаточно пофигу).
Кому нужно - могут почистить что хотят, кому не нужно - могут пользоваться тем, что есть. А “трах с памятью” возникает только у тех, кто хочет в старую плату с “мелкой” однокристаллкой залить новую версию кода…
PS: У благородного дона переполнена личка.
Личку ща почищу.
Ну я как бы совсем не против ардуино, просто всяк кулик свое болото хвалит, и я, как взял по совету Dikoy ATUSBKEY, так и остаюсь ему сильно благодарен, а приобретением жутко доволен. Всё это, разумеется только с точки зрения железа. По софту ничего сказать не могу.
Ну, они просто под разные задачи. Ардуино (именно в виде этих самых “трех источников, трех составных частей”) - это хорошая учебная платформа, удобная для тех, что начинает с нуля. И его “комплектные” библиотеки - просто для ускорения старта.
… А персонально я брал ардупайлот главным образом как “плату с двумя микрухами за $24”, - для экономии времени (и мысли 😃).
USBKEY же - это уже нормальный девкит, “для тех, кто понимает”. И начинать на нем учиться писать стоит только в том случае, если нужен именно USB.
… А персонально я брал ардупайлот главным образом как “плату с двумя микрухами за $24”, - для экономии времени (и мысли 😃).
.
Там же есть платы,на основе которых быстро и задешево можно собрать ту-же
телеметрию от благородного дона 😁
Только бутербродиком на нее посадить платку с датчиками и и селектором синхроимпульсов.
www.sparkfun.com/commerce/product_info.php?product…
А вот в этом смысла уже никакого, поскольку для телеметрии - всей остальной развеснухи в разы больше, чем ног у однокристаллки. Так что, с ней паять “бутербродик”, или без нее - разницы почти нет…
Под датчики плату на коленке много проще сделать.
Была б готовая плата от smalltim-а , то вопроса и не возникало.
А так и не дорого и для конструкторских маневров поле.
Некоторые датчики вообще имеет смысл на отдельных вынесенных платах делать.
Под датчики плату на коленке много проще сделать.
И в чем, собственно, отличие датчиков от однокристаллки ?
Кроме того, помимо датчиков и процессоров, - не помню уж чего там добавил или убрал Тим, но у меня стоит еще с полсотни разной “развесной” мелочевки… - Почему-то считается, что их паять (или - пуще того - разводить) легче, чем одну “сороконожку”. 😆
А на закуску - прикиньте, сколько “соплей” придется тащить с платы на плату - и вопрос, imho, отпадет сам собой…
Была б готовая плата от smalltim-а , то вопроса и не возникало.
Дык, чего уж проще: купите…
Врядли голая плата с мегой у Тимофея будет стоить сильно дороже, чем то же самое у спаркфана, плюс пересылка из-за бугра. И эта плата будет значительно более подходящей под задачу, и ее существенно меньше придется “дорабатывать напильником”.
Купить не получилось.
С полгода назад написал пару писем.
Две недели не было ответа, а затем получил письмо, видимо, от его торгового агента из Казани, типа - а напишите мне - что Вам нужно?
В это время с Штатов посылка уже была между Москвой и Бузулуком:)
Да, собственно вопрос отпал сам собой.
Вижу необходимость для себя в телеметрии с голосовыми сообщениями.
И для экспериментов та плата, на которую дал ссылку - вполне пригодна.
Неделю как получил девайс, какие можно ставить датчики, на www.fmadirect.com/Detail.htm?item=1778§ion=20 Co Pilot Sensor Module появится 15 августа и то не факт, может в наших магазинах подходящие датчики можно прикупить?
на fmadirect рус кредит кард не берут, ваер из россии туды просто так не уйдет, не пройдет фин контроль без должного оформления
[QUOTE=Панкратов Сергей;1295115]Почти наигрался:).
Стали понятны направления куда двигаться.
Понятно стало что должна представлять из себя модель для беспилотника и какие изменения в программе нужны.
Плата автопилота и программа не требует никаких изменений для применения на планере . Функция автовозврата с несколькими режимами, функция передачи телеметрической информации на базовую станцию ( в случае установки радиомодема).
Очень хотелось бы получить более подробную информацию про настройку и отладку данного автопилота - сегодня получил платку с 328 и FDTI програматор, плата согласования на подходе. но пока не паялся хотел бы узнать побольше инфы.
если не сложно - поделитесь ВСЕ кто пользовал или использует данный автопилот!!!
СПАСИБО!
Используйте переводчик - и во всем разберетесь сами.
А писать подробную инструкцию - это получится нетонкая брошюрка.
Потому пробуйте сами - а на возникшие вопросы постараюсь ответить…
Используйте переводчик - и во всем разберетесь сами.
А писать подробную инструкцию - это получится нетонкая брошюрка.
Потому пробуйте сами - а на возникшие вопросы постараюсь ответить…
спасибо за ответ!
переводчиком пользуюсь…
вопрос пока один (из главных) - раньше до того как пришла платка на сайте была инструкция подключения платы без щита расширения и голов от ко-пилота (версия прошивок 1х и 2.0)
а теперь только версии 2.3
вот и интересует если я припояю выводы как по новой версии то для проверки (пока нет пироголов) смогу ли я использовать прошивку версии 1.х - у меня кристал 328?
Спасибо!
спасибо за ответ!
переводчиком пользуюсь…
вопрос пока один (из главных) - раньше до того как пришла платка на сайте была инструкция подключения платы без щита расширения и голов от ко-пилота (версия прошивок 1х и 2.0)
а теперь только версии 2.3
вот и интересует если я припояю выводы как по новой версии то для проверки (пока нет пироголов) смогу ли я использовать прошивку версии 1.х - у меня кристал 328?
Спасибо!
Ладно ответов на свой вопрос не получил.😃
но хочется попробывать и потому методом научного втыка (кое где с помощью перевода) собрал пока платку. подключил програматор попытка залить прогу и первый облом!
оказывается просто не тот порт выбрал…😉
короче прогу (версия 1.0) я всетаки залил - по индикаторам на плате вроде все работает. теперь дело за тестом на земле и настройками а вот тут и засада!😮
может всеже кто поможет и разжует мне недотепе где и как их править?
т.е. как я примерно уже понял а вот в какой проге?
и может ктото будет любезен для образца скинет свои настройки для изика или глибера?
Извините за приставание…😍
Спасибо!