Расширение числа каналов аппарратуры Р/У

Вобщем то для меня это штука совершенно не нужная, почему взялся- многие просили мол сделай, кому в машинке фары включать, кому в дудку дудеть, открывать грузовой люк, включать фотоаппарат и нажимать спуск, управлять подсветкой и запуском феерверков.
Вобщем то наверное и не сделал бы если бы не задолжал я Сергею Кожевникову за его золотые руки.

Как это работает.
Никаких чудес и нарушения законов природы, все честно используя один аналоговый канал - подключаем к пульту плату - кодер формирующую команду а вернее аналоговый уровень. в зависимости от номера нажатой кнопки формируется уровень напряжения на выходе.
Пульт в зависимости от этого уровня передает канал на приемник который формирует PWM импульс. примерно в диапазоне 1000-2000мс. Тоесть мы имеем в зависимости от нажатой кнопки на приемнике импульсы различной длительности.
к задействованному каналу приемника подключается платка -декодер. она анализирует импульс и реализует различную логику на множестве выходов. В результате из одного быстрого и точного аналогового канала непрерывного действия получаем несколько дискретных команд с возможностью активации собственноручно запрограммированой логики

Какие виды логики.
можно реализовать все что душе угодно, в качестве примера реализованы следующие
“кнопка” - пока держите кнопку 1 на пульте на выходе ардуино D4 будет высокий уровень
“переключатель” - нажатие на кнопку 2 приводит к тому что выход D5 с каждым нажатием перебрасывается на противоположное значение.
“серво-кнопка” - пока нажата кнопка 3 сервопривод подключенный к D7 переводится в максимальное состояние, после отпускания кнопки привод переводится в исходное положение.
“серво-переключатель” - каждое нажатие на кнопку переводит серву подключенную к D8 в противоположное направление
осталось пока незадействованым еще пара команд по кнопкам 5 и 6 , даже не знаю чего еще туда прицепить, может “сдвиговый регистр” с тем чтобы несколько выходов активировались по очереди с каждым нажатием, например для поджига феирверков или управления режимами подсветки

какое требуется железо
-аппаратура с ппм выходом на приемнике и свободным аналоговым каналом на передатчике, желательно 5 вольтовая, но и 3.3 будет работать.
-плата кодера. это может быть мой 6 режимный переключатель на основе ардуино либо контроллер ардуино с кнопками и светодиодами подключенными по его схеме.
-плата декодера- обычная мини-ардуино
-в случае подулючения мощной нагрузки может понадобиться плата силовых ключей, реле и блок питания

как подключить

  • в принципе понятно из кода, в начале файла идут дефайны задействованных пинов, но если будут вопросы - пишите - постараюсь ответить.

структура кода.
внутри архива два скетча под arduino ide 1.0 (возможно будет работать с версиями старше)
скетч modesw_sh_expander.ino прошивается в плату кодера (с кнопками) подключемого к пульту по трем проводам два питание и аналоговый выход.

скетч receiver.ino заливается в ардуино платку. к ее входу D3 нужно подключить канал приемника
из настроек изначально нужно прописать расходы вашего канала управления соответствующие не нажатому состоянию кнопок (минимум) и нажатой кнопке 6 (максмум)
измеренные в милисекундах расходы нужно вбить в эти константы
#define calibrationMin 1063 //1000 //minimum and maximum in milliseconds of command chanel
#define calibrationMax 1954 //2000

ссылки
программный код кодера и декодера www.dropbox.com/s/…/modesw_sh_expander.rar?dl=0
переключатель режимов который может быть использован в качестве кодера

Код проверил -работает.
если материал вызовет интерес- расширю функционал, нарисую схемки как подключать итд итп.
а если эта фиговина никому ненужна будет то пусть лежит как есть.

  • 2398
Comments
Protez1999

Делал такое больше года назад. Тока решил в аппу ничего не ставить. Первый раз делал с не фиксируемой кнопкой в аппе 3 канал на вкл выкл. И делал с электронным переключателем аппы 3 положение включение выключение серв для блокировки дифа и включения пониженной.

сергей1952

Посмотрел- здорово. Мне кажется на 5 канал просится сдвиговый регистр
направления на 4 под внешние ключи- больше не надо а на 6 (если это можно реализовать) звуковой генератор под пассивную пьезопищалку для поиска аппарата в траве и тогда и в дудку гудеть и фарами моргать и фото и поиск и все 33 удовольствия на 1 канале

Taboo

На сколько я понял, не реализовано нажатие друх кнопок одновременно.
Хотя это сделать достаточно просто. Кодер должен формировать аналоговый уровень пропорционально коду кнопок.
Возможно придётся уменьшить количество кнопок.

alexeykozin
сергей1952;bt144345

Посмотрел- здорово. Мне кажется на 5 канал просится сдвиговый регистр
направления на 4 под внешние ключи- больше не надо а на 6 (если это можно реализовать) звуковой генератор под пассивную пьезопищалку для поиска аппарата в траве и тогда и в дудку гудеть и фарами моргать и фото и поиск и все 33 удовольствия на 1 канале

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

alexeykozin
Taboo;bt144346

На сколько я понял, не реализовано нажатие друх кнопок одновременно.
Хотя это сделать достаточно просто. Кодер должен формировать аналоговый уровень пропорционально коду кнопок.
Возможно придётся уменьшить количество кнопок.

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

но увеличение числа команд не бесконечно и обусловлено точностью передачи управляющего сигнала. в некоторых аппаратурах может от температуры уходить калибровка и тогда команды (к примеру если их сделать не 6 а 20-50) будут “промахиваться”

DWK

Алексей, отличная идея по модернизации. Огромное СпС!

alexeykozin

присылайте фотки что получилось!

alexeykozin

реализован сдвиг
нагрузку подключать 10,11,12,13
управлять кнопкой 5

www.dropbox.com/s/…/modesw_sh_expander.rar?dl=0

Prikupets

Делал такую для расширения 1 канала в 2.
Раздвоитель канала передатчика

gosha57

Спасибо большое ! Очень давно ждал !