MultiWii

Siorinex
Alex_from_Israel:

Медные они. Но луженые.

Каждый проводничок индивидуально пролужённый??? И в СЕРЕДИНЕ?! Ибо я и на срез смотрел специально - БЕЛЫЙ ОН!!!

Сейчас вспоминаю, куда дел старый добрый здоровый паяльник: после покупки паяльной станции он мне был как-то не особливо актуален…

Коннекторы - напаяю. Один фиг у едущих акков другие разъёмы… Которые я тоже предусмотрительно заказал: спасибо Коваксу за его отчёт о летающем…
О! Як раз акки и разъёмы “переданы таможне” - “прилетели” 2-го, 3-го переданы, только сейчас озаботились добавить…
При том, что как 1-го числа датчик AllInOne+GPS попал в импорт, так и без изменений! Поооочта…

SovGVD

Мне mahowik написал, что:
"А я вот сенни подрубил iPhone через RX/TX к Ардуине + установил Serial Monitor (minicom) + чутька переработал кодярник для LCD в MultiWii…
Итог: терь ПИДы можно крутить с пульта с отображением на iPhone. Т.е. тотже LCD по сути… "
кому нить нужны подробности?

YAN=
SovGVD:

кому нить нужны подробности?

Еще как.

Covax

Конечно! Не зря ж я айпад супруге подарил)))
Я так понимаю речь идет о подключении через синийзуб?

SovGVD
Covax:

речь идет о подключении через синийзуб?

понятия не имею =) я просто разместил объяву… как отпишется в личку - выложу

penkerton
Alex_from_Israel:

Попробуйте активировать моторы. Троттел в ноль, ролл вправо(или влево?), короче загорится лед от 13 ноги, моторы должны начать медленно вращаться. Сам чайник, Сначала у меня случайно моторы так включились, а потом прочитал в форуме. В этой ветке все это есть, только найти трудно.

Упс! Уже подсказали…

Алекс, что то у меня не получается :\
и так тоже
“руддер до упора вправо при нулевом газе?”
и 13 лед тоже не загорается…

в программе там стиками графики газ на 0 не встает (как и другое) - это может быть причиной или это нормально?

И еще вопрос, “MODE” подключать обязательно? и вообще что это (какой канал на ресивере это)?

p.s. и большое спасибо за тот первый оперативный и по делу ответ!

nemo61
penkerton:

“руддер до упора вправо при нулевом газе?”
и 13 лед тоже не загорается…

У меня arduino pro min
лед загорается
Прошился нормально?
У меня сначала движки не запускались. В скетче увеличил значение
define MINTHROTTLE 1300

в программе там стиками графики газ на 0 не встает (как и другое) - это может быть причиной или это нормально?

У меня на запуск движков это не влияет.

И еще вопрос, “MODE” подключать обязательно? и вообще что это (какой канал на ресивере это)?

Я пока не подключал.

YAN=

Если Вы используете аксель, то подключать нужно. “MODE”, подрозумевает любой канал на приемнике (начиная с 5го) у которого есть переключатель на пульте.

nemo61
SovGVD:

при подключении не к пиленой была невроятная фигня с повисаниями
поэтому нафиг эти подключения wmp/нунчаков - голые датчики в разы лучше работают

У меня arduino pro mini. Питание от бека контроллера 5В. Где можно взять 3,3В?

YAN=
nemo61:

Где можно взять 3,3В?

Там его нет. Нуно собрать простой преобразователь на LM.

Alex_from_Israel
penkerton:

Алекс, что то у меня не получается :\
и так тоже
“руддер до упора вправо при нулевом газе?”
и 13 лед тоже не загорается…

в программе там стиками графики газ на 0 не встает (как и другое) - это может быть причиной или это нормально?

И еще вопрос, “MODE” подключать обязательно? и вообще что это (какой канал на ресивере это)?

p.s. и большое спасибо за тот первый оперативный и по делу ответ!

Главное, что бы в аппе вставали. Поставьте расходы ±125, если аппа позволяет, и триммер троттла в минус до упора.
Насчет Мода, это не ко мне. Я еще и не взлетал на трикоптере толком. Весь опыт по аппе от вертолетов. Насколько я понимаю, МОД переключает режимы Акро и Стабильный. То есть аксель учитывается только в стабильном режиме.
На ресивере можно на 5 каналподключить. Это переключатель гироскопа в вертолетном режиме. Если аппа больше 6 каналов, то на любой AUX. 7 и 8 каналы на моем Турнеджи.

Siorinex:

Каждый проводничок индивидуально пролужённый??? И в СЕРЕДИНЕ?! Ибо я и на срез смотрел специально - БЕЛЫЙ ОН!!!

Сейчас вспоминаю, куда дел старый добрый здоровый паяльник: после покупки паяльной станции он мне был как-то не особливо актуален…

Коннекторы - напаяю. Один фиг у едущих акков другие разъёмы… Которые я тоже предусмотрительно заказал: спасибо Коваксу за его отчёт о летающем…
О! Як раз акки и разъёмы “переданы таможне” - “прилетели” 2-го, 3-го переданы, только сейчас озаботились добавить…
При том, что как 1-го числа датчик AllInOne+GPS попал в импорт, так и без изменений! Поооочта…

Там проводки очень тонкие, их просто много. Если интересно, посмотрите срез через микроскоп. По цвету чистая медь. На акк обязательно ставить разъем. А вот на регули лучше подпаяться. С обоих сторон. Так и сделаю, когда установлю все моторы и регули и добьюсь правильного вращения. Меньше гемора с наводками будет.

Хорошо у нас таможня дает добро автоматом, если стоимость посылки маленькая. До 200 баксов. Теперь только такие заказы делаю. Года 3 назад заказал кучу всего и вышло на 400 баксов. Целый день потерял, пока в Тель-Авив ездил на таможенный склад. Там такие пробки!

Есть старенький МИО Покет ПиСи. Там и GPS и блютуз есть. Если его распотрошить и присобачить соответствующие блоки к Ардуине!?

Siorinex

Самый ржач, что в АрдуиноМини по программе с 7-го контакта (тот самый mode) - берёт кучу всего:

#define AUX1PIN
#define AUX2PIN 7 //unused just for compatibility with MEGA
#define CAM1PIN 7 //unused just for compatibility with MEGA
#define CAM2PIN 7 //unused just for compatibility with MEGA

В итоге при подаче на 7 пин с mode-канала - колбасит полоски вышеуказанных переменных…

В Мерлене купил прямоугольный профиль 10 на 20… Меньше у них нету… Печаль…
С другой стороны - народ летает на 15 на 15, а тут - почти та-же фигня, но просто в ширь на 5 больше и на 5 меньше в толщину… Потом, если что, воткну 10 на 10 для облегчения… Или вообще трубку 10 - благо они у меня есть, но сверлить муторно…

Купил здоровенный паяльник: если и этой дурой не присобачатся эти провода, то я даже и не знаю!

По-приколу - сделать по принципу трансформеров раму, с приводами, которые складывают-раскладывают консоли…
Но это так - шутка по большей части: тупо загоню часть крепежа на 4мм с барашками, что-бы при снятии четырёх винтов рама складывалась…

Ммм… Читаю код: ЖУТЬ!

rcOptions = (rcData[AUX1]<1300) + (1300<rcData[AUX1] && rcData[AUX1]<1700)*2 + (rcData[AUX1]>1700)*4 +(rcData[AUX2]<1300)*8 + (1300<rcData[AUX2] && rcData[AUX2]<1700)*16 + (rcData[AUX2]>1700)*32;

Спокойно меняется на

rcOptions = (rcData[AUX1]<1300) + (1300<rcData[AUX1] && rcData[AUX1]<1700)<<1 + (rcData[AUX1]>1700)<<2 + (rcData[AUX2]<1300)<<3 + (1300<rcData[AUX2] && rcData[AUX2]<1700)<<4 + (rcData[AUX2]>1700)<<5;

Бинарный сдвиг работает в разы быстрее, чем умножение на компьютере!!!
И 100% там ещё куча аналогичных мест!!!

penkerton
Alex_from_Israel:

Главное, что бы в аппе вставали. Поставьте расходы ±125, если аппа позволяет, и триммер троттла в минус до упора.

Алекс, спасибо! +125 помогло и триммерить не пришлось.
Теперь другая засада - почему то 11й движок (вернее пин на ардуино) не заводиться…
Меняя местами провода снова 11 не работает, то есть другой движок крутит, а 11 все же нет.

p.s. буду писать кипятком от счастья, если сегодня оно хотя бы заведется целиком! ))))

Andrey73
Siorinex:

Ммм… Читаю код: ЖУТЬ!

Спокойно меняется на

Бинарный сдвиг работает в разы быстрее, чем умножение на компьютере!!!
И 100% там ещё куча аналогичных мест!!!

Сразу видно новичка в программировании. Хороший компилятор, в данном случае WinAvr, автоматом делает то, что Вы как бы исправили. А наглядность кода горадо выше с умножением.

Siorinex

Насчёт того, что хорошие компиляторы это делают - уверенности нет, т.к. компилятору это не очевидно! В некоторых случаях битовый сдвиг наоборот даже вреден!
Ладно, к чему спорить?
*ушёл писать тестовую прогу*

Собственно:

  1. Считаем 30 тысяч раз генерим рандомное b, и считаем a как сумму восьми сдвигов от b
  2. Считаем 30 тысяч раз ту-же фигню, но вместо сдвига - умножение.
  3. Сравниваем затраченные милисекунды на 1 и на 2, после чего - если для произведения времени ушло меньше либо равно - включаем светодиод.

int ledPin = 13; // LED connected to digital pin 13
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}

void TestMov()
{
for (int i=0; i<30000; i++)
{
int a = 0;
int b = random(1);
a = b + (b << 1) + (b << 2) + (b << 3) + (b << 4) + (b << 5) + (b << 6) + (b << 7);
}
}

void TestDiv()
{
for (int i=0; i<30000; i++)
{
int a = 0;
int b = random(1);
a = b + b*2 + b*4 + b*8 + b*16 + b*32 + b*64 + b*128;
}
}

void loop()
{
unsigned long currentMillis = millis();
TestMov();
unsigned long MovTime = millis()-currentMillis;

unsigned long currentMillis2 = millis();
TestDiv();
unsigned long DivTime = millis()-currentMillis2;

if (DivTime<=MovTime)
digitalWrite(ledPin, HIGH); // set the LED on
else
digitalWrite(ledPin, LOW); // set the LED off
}

Очепятался…
Диод горит… Мдя… До чего дошёл прогресс…
Ээээ А теперь - не горит… А теперь - горит…
Ыыыыы… Через раз… %)

Andrey73
Siorinex:

Насчёт того, что хорошие компиляторы это делают - уверенности нет, т.к. компилятору это не очевидно!

Что мешает скомпилированный листинг взглянуть?

Alex_from_Israel
penkerton:

Алекс, спасибо! +125 помогло и триммерить не пришлось.
Теперь другая засада - почему то 11й движок (вернее пин на ардуино) не заводиться…
Меняя местами провода снова 11 не работает, то есть другой движок крутит, а 11 все же нет.

p.s. буду писать кипятком от счастья, если сегодня оно хотя бы заведется целиком! ))))

У Вас какая Ардуино? Про Мини или Мега? Проверьте в конфигурации, какой борд выбран. Может из за этого.

Siorinex

А насчёт новичка… Хех… А 20 лет непрерывного стажа не хотите??? Трюки с битовыми сдвигами себя оправдывали долгие годы - если нынешние компиляторы дошли и до этого - я за них рад. Но предпочту таки использовать именно ЧИСТЫЙ битовый сдвиг!
ИМХО, но он проще для понимания: “сдвигаем на 6-ю позицию” или “а куда переместится, если умножим на 32?”
Скорее всего - кусок кто-то дописывал “левый”, т.к. в остальном коде - именно сдвиг используется!

Alex_from_Israel
Siorinex:

А насчёт новичка… Хех… А 20 лет непрерывного стажа не хотите??? Трюки с битовыми сдвигами себя оправдывали долгие годы - если нынешние компиляторы дошли и до этого - я за них рад. Но предпочту таки использовать именно ЧИСТЫЙ битовый сдвиг!
ИМХО, но он проще для понимания: “сдвигаем на 6-ю позицию” или “а куда переместится, если умножим на 32?”
Скорее всего - кусок кто-то дописывал “левый”, т.к. в остальном коде - именно сдвиг используется!

Ни фига себе!!! С 13 лет программистом трудитесь?

Siorinex

Пишу - с 13-и. БК0010-01, если эта шифровка что-то говорит… 😉

Alex_from_Israel
Siorinex:

Пишу - с 13-и. БК0010-01, если эта шифровка что-то говорит… 😉

Букашка, что ли? Говорит… Еще бы…

Ладно, спать пошел. Третий час ночи уже. Что то сегодня долго провозился. У меня все на макетках. Проводами. Проверял с тестером.