Уголок коптер-программиста
Спасибо, Александр! Очень интересно. Но вот вопросик, ежели надо на входе угол в радианах (конечно и с плавающей точкой), не убьет ли конверсия все преимущество sin_lut по скорости? Я вот так навскидку не вижу, как можно без потерь адаптировать…
А насчет “медленного” _cos – это очевидно сказывается приведение к диапазону, float z = (x + 25165824.0f);
x = x - (z - 25165824.0f); потому что в остальном это тот же _sin со сдвигом.
Надоел мне совсем ардуиновский IDE для разработки, хотя по сути пользовал его только для компилинга, а писал в Notepad++
Вчера попробовал CodeBlocks-Arduino, может он и ничего, но не смог настроить проект…
Далее глянул MariaMole тоже не понравилась…
Потом решил поставить Visual Studio + Visual Micro pluggin.
Оказалось то что надо! Навигатор удобный как по файлам так и по функциям/перменным, code completion, подсветка синтаксиса с “приглушенным” контентом, если дефайн закрыт… Из минусов Visual Studio запросил гад 5 гб на С диске, также он триальный на 90 дней, НО разработчики Visual Micro пишут что через 90 дней будет доступен Atmel/Visual Studio…
Собственно вопрос. Кто на чем пишет под arduino?
Собственно вопрос. Кто на чем пишет под arduino?
имхо… ардуино ИДЕ - убожество, да и многие другие, по сравнению с атмел студио.
при необходимости достаточно посидеть несколько часов над основными библиотеками ардуино и перетащить их на студию для удобства.
Кто на чем пишет под arduino?
UltraEdit )))
На днях прикрутили проект пирата к Eclipse… но по факту получилось только компиляция. Ошибки он не подсвечивает (точнее у него ошибка практически в каждой строке)
имхо… ардуино ИДЕ - убожество, да и многие другие, по сравнению с атмел студио.
при необходимости достаточно посидеть несколько часов над основными библиотеками ардуино и перетащить их на студию для удобства.
в том и дело Visual Studio + Visual Micro pluggin работает почти из коробки и ниче перетаскивать не надо… показал ей где ардуино фолдэр, открыл главный ino файл и готово!
На днях прикрутили проект пирата к Eclipse…
а можно поподробней? я пытаюсь сейчас AutoQuad32 перетянуть - пока безуспешно (*.ino в *.срр интересно можно просто переименовать, а то гцц может и не понять что за фигня - далее знаю где подключается, так что изменить не проблема), с моими кривыми ручками это надолго - ибо переписываю makefile…
*.ino в *.срр
попробуйте основной файл в .cpp а прочие в .h + придется разбиратся с переменными. По крайней мере в атмел студии я именно так и поступал.
у меня он единственный, сейчас компилятор наконец-то увидел (странно патчи прописывал как и раньше, а не пошло- пришлось ближе передвигать - …/…/ ), но ругается что правил для сборки нет, вот и думаю как безболезненно makefile переписать…
а можно поподробней?
Ну суть в том, что у нас есть makefile, который собирает Пирата с использованием Cygwin + Arduino. Т.е. все работает из командной строки.
Теперь создаем “C” проект в Eclipse и подключаем наш makefile. Вот и все. Если сделать Build, то Eclipse подсвечивает ошибки в исходниках, но как только открываешь файлы, он начинает ругаться практически на все, т.к. не может сам проверить исходники. В общем, хоть что то и можно делать, но по сути не сильно отличается от обычного редактора 😦
Вероятно надо менять структуру исходников на нормальный C или C++ и после этого пользоваться любой средой, как Eclipse, так и Atmel…
Сказали, А, говорите и В 😃 в смысле, register map…
Увы, я свой выложить не могу, лицензионное соглашение сдуру на себя подписал.
Уважаемые! Хочу поделиться вопросом, а в перспективе - добиться (не без вашего совета) решения в следущем проекте: Измеритель вибрации (а конкретно амплитуды виброперемещения) по 3 осям с помощью акселерометра ADXL335, Ардуины и 1602 дисплея (для мобильности).
Вопрос: По какому принципу данные с акселерометра в Ардуине пересчитать в мм/с (или, к примеру, создать свою шкалу единиц (0…1000))? Какие формулы использовать?
На ровной поверхности, в состоянии покоя (1g) на выходе каждой оси примерно 330mV. И это напряжение меняется от углов наклона акселерометра.
Хочу мобильное устройство для контроля уровня вибрации двигателей коптера в поле. Телефон и планшет с g-сенсором не предлогать;) Думаю, кто-нибудь сможет найти данному устройству другое применение.
ну дык, если вся шкала АЦП 1024 - 5В если не поизвращатся с Aref проца (напряжение на нём - верхний предел для АЦП - не забыть выставить external) - отсюда и плясать… лучше всего посмотреть в даташит - какое максимальное напряжение на выходе акселя может быть, такое же и выставить Aref…
Все же предлагаю эту тему не захламлять вопросами-ответами. Эта тема была создана что бы тут складировать готовые решения.
в следущем проекте: Измеритель вибрации
по сути готовый виброметр, на базе мвия, с возможностью по желанию включать движки по отдельности из GUI:
code.google.com/p/multiwii/source/detail?r=1378
code.google.com/p/multiwii/source/detail?r=1381
Вроде решение готовое, чеб Алексей не ругался ))
по сути готовый виброметр, на базе мвия, с возможностью по желанию включать движки по отдельности из GUI:
это что же получается, теперь для каждой отдельной ВМГ можно снять всю эту тряску и ее зависимость от оборотов. Потом по ходу процесса сумму всех складывать вместе и отнимать от текущего измерения по ходу. )) Вот блин жалко только, что нет реальной обратной связи с положением роторов для слежения за каждым, а то и с кривыми валами и с однолопастными, поломаными пропами летать бы научились.
Подборка грязных хаков, в основном битовая арифметика.
Такие штуки надо применять очень осторожно, т.к. они могут быть зависимыми как от платформы (little, big endian) так и от битности, где-нибудь через год после переноса на другую систему можно долго искать почему не работает.
Простыми словами о преобразовании Фурье - habrahabr.ru/post/196374/