Вобщем то для меня это штука совершенно не нужная, почему взялся- многие просили мол сделай, кому в машинке фары включать, кому в дудку дудеть, открывать грузовой люк, включать фотоаппарат и нажимать спуск, управлять подсветкой и запуском феерверков.
Вобщем то наверное и не сделал бы если бы не задолжал я Сергею Кожевникову за его золотые руки.
Как это работает.
Никаких чудес и нарушения законов природы, все честно используя один аналоговый канал - подключаем к пульту плату - кодер формирующую команду а вернее аналоговый уровень. в зависимости от номера нажатой кнопки формируется уровень напряжения на выходе.
Пульт в зависимости от этого уровня передает канал на приемник который формирует 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
Код проверил -работает.
если материал вызовет интерес- расширю функционал, нарисую схемки как подключать итд итп.
а если эта фиговина никому ненужна будет то пусть лежит как есть.
Comments
Делал такое больше года назад. Тока решил в аппу ничего не ставить. Первый раз делал с не фиксируемой кнопкой в аппе 3 канал на вкл выкл. И делал с электронным переключателем аппы 3 положение включение выключение серв для блокировки дифа и включения пониженной.
Посмотрел- здорово. Мне кажется на 5 канал просится сдвиговый регистр
направления на 4 под внешние ключи- больше не надо а на 6 (если это можно реализовать) звуковой генератор под пассивную пьезопищалку для поиска аппарата в траве и тогда и в дудку гудеть и фарами моргать и фото и поиск и все 33 удовольствия на 1 канале
На сколько я понял, не реализовано нажатие друх кнопок одновременно.
Хотя это сделать достаточно просто. Кодер должен формировать аналоговый уровень пропорционально коду кнопок.
Возможно придётся уменьшить количество кнопок.
Посмотрел- здорово. Мне кажется на 5 канал просится сдвиговый регистр
направления на 4 под внешние ключи- больше не надо а на 6 (если это можно реализовать) звуковой генератор под пассивную пьезопищалку для поиска аппарата в траве и тогда и в дудку гудеть и фарами моргать и фото и поиск и все 33 удовольствия на 1 канале
поочередный сдвиг включаемеого выхода напишу сегодня вечерком, мог бы и сейчас но хочу проверить чтобы не ошибиться
На сколько я понял, не реализовано нажатие друх кнопок одновременно.
Хотя это сделать достаточно просто. Кодер должен формировать аналоговый уровень пропорционально коду кнопок.
Возможно придётся уменьшить количество кнопок.
сейчас это и ненужно, 6 команд - 6 кнопок. нужно будет 10 команд можно будет сделать 10 кнопок,
принцип такой нету двух одновременных кнопок есть “команда” одна команда может включить любую комбинацию выходов на декодере и даже запустить программу в том числе считывающую бортовые сигналы и по резильтатам их обработки выполняющей определенные действия
но увеличение числа команд не бесконечно и обусловлено точностью передачи управляющего сигнала. в некоторых аппаратурах может от температуры уходить калибровка и тогда команды (к примеру если их сделать не 6 а 20-50) будут “промахиваться”
Алексей, отличная идея по модернизации. Огромное СпС!
присылайте фотки что получилось!
реализован сдвиг
нагрузку подключать 10,11,12,13
управлять кнопкой 5
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"403268573df9550077795157":{"_id":"403268573df9550077795157","hid":2904,"name":"Taboo","nick":"Taboo","avatar_id":null,"css":""},"41b8a4ac3df9550077792e83":{"_id":"41b8a4ac3df9550077792e83","hid":5271,"name":"Prikupets","nick":"Prikupets","avatar_id":null,"css":""},"4e2d4b253df9550077750123":{"_id":"4e2d4b253df9550077750123","hid":94480,"name":"Protez1999","nick":"Protez1999","avatar_id":null,"css":""},"4e71d4e23df955007774e5d8":{"_id":"4e71d4e23df955007774e5d8","hid":99365,"name":"alexeykozin","nick":"alexeykozin","avatar_id":null,"css":""},"50b1c3433df955007773d615":{"_id":"50b1c3433df955007773d615","hid":129767,"name":"сергей1952","nick":"сергей1952","avatar_id":null,"css":""},"52643a793df9550077730e54":{"_id":"52643a793df9550077730e54","hid":179759,"name":"DWK","nick":"DWK","avatar_id":null,"css":"user__m-banned"},"53d4a4b63df9550077727045":{"_id":"53d4a4b63df9550077727045","hid":205470,"name":"gosha57","nick":"gosha57","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"56977e1b9970730077114080","hid":21274,"title":"Расширение числа каналов аппарратуры Р/У","html":"<p><span class=\"image\" style=\"width: 655px\" data-nd-image-orig=\"http://hobby.msdatabase.ru/_/rsrc/1444311638469/project-updates/theresultsofoursurvey/modesw/v3/MODESW_V3_TOP.jpg\"><img src=\"http://hobby.msdatabase.ru/_/rsrc/1444311638469/project-updates/theresultsofoursurvey/modesw/v3/MODESW_V3_TOP.jpg\" alt referrerpolicy=\"no-referrer\"><span class=\"image__spacer\" style=\"padding-bottom: 56.1832%\"></span></span></p>\n<p>Вобщем то для меня это штука совершенно не нужная, почему взялся- многие просили мол сделай, кому в машинке фары включать, кому в дудку дудеть, открывать грузовой люк, включать фотоаппарат и нажимать спуск, управлять подсветкой и запуском феерверков.<br>\nВобщем то наверное и не сделал бы если бы не задолжал я Сергею Кожевникову за его золотые руки.</p>\n<!--cut-->\n<div class=\"ez-player ez-domain-youtube_com ez-block\" data-placeholder=\"<iframe class="ez-player-frame" src="https://www.youtube.com/embed/qtZoD89cpXE?feature=oembed&amp;autoplay=1" allowfullscreen></iframe>\" data-nd-link-orig=\"https://youtu.be/qtZoD89cpXE\" data-nd-link-type=\"linkify\">\n <div class=\"ez-player-container\" style=\"padding-bottom: 75%;\">\n <a class=\"ez-player-placeholder\" target=\"_blank\" href=\"https://youtu.be/qtZoD89cpXE\" rel=\"nofollow\">\n <div class=\"ez-player-picture\" style=\"background-image: url('https://i.ytimg.com/vi/qtZoD89cpXE/hqdefault.jpg');\"></div>\n \n <div class=\"ez-player-header\">\n <div class=\"ez-player-title\">\n chanels expander\n </div>\n </div>\n \n <div class=\"ez-player-button\"></div>\n <div class=\"ez-player-logo\"></div>\n \n </a>\n </div>\n</div>\n<p><strong data-nd-pair-src=\"**\">Как это работает.</strong><br>\nНикаких чудес и нарушения законов природы, все честно используя один аналоговый канал - подключаем к пульту плату - кодер формирующую команду а вернее аналоговый уровень. в зависимости от номера нажатой кнопки формируется уровень напряжения на выходе.<br>\nПульт в зависимости от этого уровня передает канал на приемник который формирует PWM импульс. примерно в диапазоне 1000-2000мс. Тоесть мы имеем в зависимости от нажатой кнопки на приемнике импульсы различной длительности.<br>\nк задействованному каналу приемника подключается платка -декодер. она анализирует импульс и реализует различную логику на множестве выходов. В результате из одного быстрого и точного аналогового канала непрерывного действия получаем несколько дискретных команд с возможностью активации собственноручно запрограммированой логики</p>\n<p><strong data-nd-pair-src=\"**\">Какие виды логики.</strong><br>\nможно реализовать все что душе угодно, в качестве примера реализованы следующие<br>\n“кнопка” - пока держите кнопку 1 на пульте на выходе ардуино D4 будет высокий уровень<br>\n“переключатель” - нажатие на кнопку 2 приводит к тому что выход D5 с каждым нажатием перебрасывается на противоположное значение.<br>\n“серво-кнопка” - пока нажата кнопка 3 сервопривод подключенный к D7 переводится в максимальное состояние, после отпускания кнопки привод переводится в исходное положение.<br>\n“серво-переключатель” - каждое нажатие на кнопку переводит серву подключенную к D8 в противоположное направление<br>\nосталось пока незадействованым еще пара команд по кнопкам 5 и 6 , даже не знаю чего еще туда прицепить, может “сдвиговый регистр” с тем чтобы несколько выходов активировались по очереди с каждым нажатием, например для поджига феирверков или управления режимами подсветки</p>\n<p><strong data-nd-pair-src=\"**\">какое требуется железо</strong><br>\n-аппаратура с ппм выходом на приемнике и свободным аналоговым каналом на передатчике, желательно 5 вольтовая, но и 3.3 будет работать.<br>\n-плата кодера. это может быть мой 6 режимный переключатель на основе ардуино либо контроллер ардуино с кнопками и светодиодами подключенными по его схеме.<br>\n-плата декодера- обычная мини-ардуино<br>\n-в случае подулючения мощной нагрузки может понадобиться плата силовых ключей, реле и блок питания</p>\n<p><strong data-nd-pair-src=\"**\">как подключить</strong></p>\n<ul>\n<li>в принципе понятно из кода, в начале файла идут дефайны задействованных пинов, но если будут вопросы - пишите - постараюсь ответить.</li>\n</ul>\n<p><strong data-nd-pair-src=\"**\">структура кода.</strong><br>\nвнутри архива два скетча под arduino ide 1.0 (возможно будет работать с версиями старше)<br>\nскетч modesw_sh_expander.ino прошивается в плату кодера (с кнопками) подключемого к пульту по трем проводам два питание и аналоговый выход.</p>\n<p>скетч receiver.ino заливается в ардуино платку. к ее входу D3 нужно подключить канал приемника<br>\nиз настроек изначально нужно прописать расходы вашего канала управления соответствующие не нажатому состоянию кнопок (минимум) и нажатой кнопке 6 (максмум)<br>\nизмеренные в милисекундах расходы нужно вбить в эти константы<br>\n#define calibrationMin 1063 //1000 //minimum and maximum in milliseconds of command chanel<br>\n#define calibrationMax 1954 //2000</p>\n<p><strong data-nd-pair-src=\"**\">ссылки</strong><br>\nпрограммный код кодера и декодера <a href=\"https://www.dropbox.com/s/il0gojiscxlxxeb/modesw_sh_expander.rar?dl=0\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://www.dropbox.com/s/il0gojiscxlxxeb/modesw_sh_expander.rar?dl=0\" target=\"_blank\" rel=\"nofollow noopener\">www.dropbox.com/s/…/modesw_sh_expander.rar?dl=0</a><br>\nпереключатель режимов который может быть использован в качестве <a href=\"http://hobby.msdatabase.ru/project-updates/theresultsofoursurvey/modesw/v3\" class=\"link link-ext\" data-nd-link-orig=\"http://hobby.msdatabase.ru/project-updates/theresultsofoursurvey/modesw/v3\" target=\"_blank\" rel=\"nofollow noopener\">кодера</a></p>\n<p>Код проверил -работает.<br>\nесли материал вызовет интерес- расширю функционал, нарисую схемки как подключать итд итп.<br>\nа если эта фиговина никому ненужна будет то пусть лежит как есть.</p>\n","user":"4e71d4e23df955007774e5d8","ts":"2016-01-14T10:53:15.000Z","st":1,"cache":{"comment_count":10,"last_comment":"56ab702499707300771277d8","last_comment_hid":10,"last_ts":"2016-01-29T13:59:00.000Z","last_user":"53d4a4b63df9550077727045"},"views":2398,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}