RC.ПЕРМЬ.РУ > Клуб FPV
Чем снимаем с воздуха. Все про наши и не наши камеры.
emax:
--- Цитировать (выделенное) ---а тут просвети немного. это как?
--- Конец цитаты ---
Многим будет, наверное, неинтересно, отправил в личку.
Добавлено 26 Марта 2016, 12:39:43
--- Цитата: Ilya от 26 Марта 2016, 11:43:04 ---Пара лишних энкодеров PWM-PPM от пиксхавков лежит на складе, может из них сделать?
--- Конец цитаты ---
Не пойдет, у них только один выход - PPM, а нужно 7.
master.x:
--- Цитата: argut от 26 Марта 2016, 11:12:07 ---так что сперва нужно схемотехнику выстроить - потом порграммы писать
а то получится что бы управлять торчащими проводками (замыкая их на землю) нужно "выходардуины - транзисторный ключ - релешка" - что нифига не красиво.
--- Конец цитаты ---
это конечно правильно, но если подумать кнопки скорее всего комутируют сигнальный вольтаж, а то и просто сигнал низкого уровня. так или иначе атмега позволяет пропускать и выдавать сигнал низкого и высокого уровня. А если по токам то можно поставить мосфет 6680 или транзистор дарлингтона UHL2003 миниатюрные размеры. Но вольтаж на холостом надо померить.
Добавлено [time]26 Марта 2016, 13:33:47[/time]
Думаю для нас схемотехника будет проще чем написать код. если с атмегой не справимся тогда на PIC контролллер и к Стасу.
Добавлено [time]26 Марта 2016, 18:10:46[/time]
вот в таком примерно виде уже должно работать. пару мелочей надо будет подредактировать, типа установлено чтение шим чётко в 1100 и 1900 а не менее и более какогото уровня. ну чтение входов надо провериь читают ли цифровые входы ШИМ.
скетч исправлен и заливается надо проверять работоспособность.
/*9 канал: 1500 фокус 1900 и фокус, и спуск
10 канал: 1100 зум+ 1900 зум+
11 канал: 1100 вклвыкл 1900 видео
по значению ШИМ на входе 12-14 выход логический 0 на пин 5-11*/
int focus = 5;
int shot = 6;
int ch9 = 12;
int ch10 = 13;
int ch11 = 14;
void setup() { //задаём значения пин
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
pinMode(14, INPUT);
}
void loop(){
if (analogRead(ch9) == 500-800 )
{
//читаем положение ШИМ на входе
//9 канал: 1500 фокус 1900 и фокус, и спуск
//если 127 то фокус если 255 фокус спуск
digitalWrite(focus, LOW);
} else if (analogRead(ch9) >= 1000 )
{
digitalWrite(shot, LOW);
}
if (analogRead(ch10) <= 100 ) {
//10 канал: 1100 зум+ 1900 зум+
digitalWrite(7, LOW);} else if (analogRead(ch10) >= 1000 ){
digitalWrite(8, LOW);}
if (analogRead(ch11) <= 10 ){
//11 канал: 1100 вклвыкл 1900 видео
digitalWrite(9, LOW);} else if (analogRead(ch11) >= 240 ){
digitalWrite(10, LOW);}
}
argut:
а у кого-то есть железки ардуино про мини. ждать не охота. в товарах прикамья сука 500 рублей. тоже хочу попробовать. пошить. покодить. ну и помочь проекту. ну и опыт пригодится для повседневных задач.
Ilya:
--- Цитата: argut от 27 Марта 2016, 08:54:56 ---а у кого-то есть железки ардуино про мини. ждать не охота. в товарах прикамья сука 500 рублей. тоже хочу попробовать. пошить. покодить. ну и помочь проекту. ну и опыт пригодится для повседневных задач.
--- Конец цитаты ---
Тут идею подкинули - задействовать атмеги из сгоревших мавлинков. Их у меня богато...
emax:
--- Цитата: master.x от 26 Марта 2016, 13:32:16 --- ...... if (analogRead(ch9) == 500-800 ).....
--- Конец цитаты ---
По моему analogRead здесь не прокатит, это для измерения аналогового напряжения на пине, а не длительности.
Хотя я плохо знаю этот недоязык скетчей. Использую asm или С.
Навигация
Перейти к полной версии