Контроллер для кордовых электричек

RandomJ

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

Маркс
RandomJ:

так этом шильде кнопки и так через резистивную сборку подключены.

это не отменяет того факта, что при “плохом” контакте в кнопке не может меняться сопротивление,
а значит и коэффициент делителя напряжения. вот с этим я и боролся.
собственно говоря “боролся” с нестабильностью “включения” UP и RIGHT.

VitalikV

Ждем тестовый скетч, проверим, а там будет уже видно , что подправить.

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

RandomJ

я в таком случае, когда начинают дребезжать кнопки, их менял на новые и добавлял параллельно кнопкам по керамическому конденсатору 0,1 мкФ.

RandomJ
VitalikV:

Ждем тестовый скетч, проверим, а там будет уже видно , что подправить.

согласен, железо есть, подопытный кролик тоже.

Маркс
RandomJ:

по керамическому конденсатору 0,1 мкФ.

на аналоговом входе этого делать не стоит )

VitalikV:

Ждем тестовый скетч, проверим, а там будет уже видно , что подправить.

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

Маркс

обмен между программатором и таймером по i2c не вижу больших трудностей,
тем более передавать массив десяток INT переменных,
запись/чтение параметров в EEPROM ардуинки уже сделана.

но загадывать все равно не буду

VitalikV

Я вот склоняюсь все же к тумблеру, вместо кнопки, пока замкнуто, работает, разомкнул, останов. Зазор на контактах тумблера большой, вибрация ему не по чем. (Я про таймер) Можно в скетч таймера, добавить тумблер или кнопка, а то если будет звинеть кнопка на самой ардуинке, перепаивать ее как то так себе удовольствие…

Маркс

нет смысла, если программа перезапустится, что в принципе маловероятно,
никаких сторожевых таймеров в ней нет,
а кнопку RESET можно “удалить” хирургическим путем,
программа в любом случае будет ждать какого то действия,
того же самого нажатия на кнопку.

VitalikV

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

Маркс
VitalikV:

ее можно использовать для входа в режим программирования.

с этим проще, уже отработано на другом проекте ), проверяем шину i2c,
если есть программатор на другом конце, значит режим программирования,
сливаем ему имеющиеся данные и “обращаемся в слух”, ждем когда он обратно их вернет,
получили данные обратно, записали в EEPROM и ждем перезапуска без программатора.
а если нет программатора, значит работает в штатном режиме )

RandomJ
VitalikV:

Я вот склоняюсь все же к тумблеру

можно и так, но кнопку легче прилепить к фюзеляжу, на термоклей, как у меня… Кнопку можно спрятать под лавсановую обшивку, а у переключателя будет торчать ползунок. ИМХО это не самое главное, с этим можно определиться позже(как вариант сделать программный выбор кнопка/переключатель)

Маркс

Сегодня опять совершенно неожиданно понеслись траблы, думал у меня с головой что то не то.
решил посмотреть RAW на аналоговом порту к которому подключены кнопки с делителем,
кнопка RIGHT “дребезжит” в нажатом состоянии, причем во всем диапазоне,
кнопка UP тоже “дребезжит”, но не так сильно.
В общем сегодня вечер паялинга, купил в чипдипе горсть кнопок.

VitalikV
RandomJ:

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

Я об этом написал выше.)))

Маркс

сегодня целый день воевал с “траблой” от дребезга контактов кнопок. вроде как ее “купировал”.

нужен совет, изменение параметра в данный момент возможно на единицу за одно нажатие кнопки.
при значениях 300 секунд (например 5 минут полета) это надо нажать триста раз на кнопку,
понятно, что менять от базового, ну типа было 240 секунд, но все равно, может быть шестьдесят раз и больше.
рассматриваю два варианта,

  • менять по знакам в числе, типа тысячи, сотни, десятки и единица, в принципе реализуемо.
  • второй вариант придумать как ускорить удержанием кнопки, пока не придумал.
RandomJ

Шаг в 10 секунд, я думаю, будет достаточно, это примерно два круга.

VitalikV

Делаем длинное нажатие минуты, короткое секунды Или разносим на разные кнопки минуты и секунды

Маркс
int Stack [] {            // программирумые параметры
  Motor_ESC_Normall_THR,  // нормальные обороты мотора
  Motor_ESC_Landing_THR,  // обороты мотора при посадке
  InFly,                  // общее время полета с момента уборки шасси
  Takeoff,                // время на "убежать к ручке"
  GearUp,                 // момент уборки шасси с момента старта
  Landing                 // время на посадку.
  };

так выглядит список изменяемых параметров

char* menu [] {
  "THR Norm Level  ",     // нормальные обороты мотора
  "THR Land Level  ",     // обороты мотора при посадке
  "Flight time     ",     // общее время полета с момента уборки шасси
  "Time for start  ",     // время на "убежать к ручке"
  "Time for GUp    ",     // момент уборки шасси с момента старта
  "Time for landing",     // время на посадку.
  "Read data       ",     // прочитать данные с таймера
  "Write data      "      // записать данные в таймер
};

сейчас так выглядит Меню программатора.
Red/Write - чтение/запись параметров в таймер, подключенный по i2c,
пока стоят заглушки, но таймер уже отвечает ))

Маркс
VitalikV:

Делаем длинное нажатие минуты, короткое секунды Или разносим на разные кнопки минуты и секунды

на аналоговых кнопках, тем более их там сразу пять штук ),
я пока не придумал как это сделать, голова продолжает думать, если придумаю - реализую

хотя, вот прямо сейчас пришла в голову мысль, на кнопку SELECT прикрутить множитель и его выводить в строку параметра

  • х1/х5/х10/х50/х100 и менять его по кругу.

и тогда изменение параметра будет на 1/5/10/50/100

Маркс
VitalikV:

Или разносим на разные кнопки минуты и секунды

сейчас LEFT/RIGHT - смена параметра, UP/DOWN - изменение значения

Маркс
Маркс:

пока список параметров выглядит так

в список просится delta для оборотов мотра при изменении тангажа.