Можно ли подключать аналоговый выход на контакт с напряжением?
- Войдите на сайт для отправки комментариев
Просто я филолог.
Но как и миллионам людей до меня, мне приспичило привесить кнопки рулевого колеса авто к ардуино (в наличии Leonardo).
Задача: Сигналы от одной части кнопок передавать в штатное головное устройство без изменений. Другая часть будет рулить другим устройством (ИК передатчик) и их сигналы не отдавать магнитоле никогда.
Дано: Кнопки резистивные. На магнитоле втыкаются в землю и +4,8В (так понимаю, там подягивающий резистор к +). Кнопки, соответственно, это вторая часть делителя напряжения, насколько позоляет мне судить моё гуманитарное.
Схема мне представляется так: Кнопки не соединены с ГУ, я их читаю от ардуиновского +5В аналоговым входом. Прочитанные значения нужных кнопок отдаю магнитоле.
Вопрос - как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()? Или я дурак и всё надо коммутировать не так?
P.S. Знаю, что тема избитая, но я усердно 3 дня бороздил форумы и, често, так и не понял этот момент (см. начало поста).
рассчитать правильно резистивную клавиатуру, свои кнопки ГУ воспримет и обработает, чужие - не будет реагировать
ардуина воспримет любые кнопки, но какие, как обрабатывать, кому отсылать - дело программы, т.е. - ваше
Вопрос - как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()? Или я дурак и всё надо коммутировать не так?
просто так не отдать - надо будет сымитировать сопротивление соответствующее данной кнопке :(
http://arduino.ru/forum/programmirovanie/dobryi-den-nuzhna-pomoshch-v-na...
Кнопки все родные. Чужих не будет.
Вопрос именно в "как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()?" Т.е. правильная ли коммутация на физическом уровне - соединять пин с контактом под напряжением и подавать на него аналоговый сигнал?
через диод можно, но analogWrite() - это далеко не аналоговый сигнал !
подавать сигнал с ЦАП - другое дело
дайте схему штатной резистивной панели для магнитолы ( с номиналами резисторов ) и новую ( сколько там доп кнопок )
Схему менять не планирую и новых кнопок добавлять тоже. Просто хочу использовать часть кнопок "как было", а другую часть - для другого девайса.
У меня SsangYong Rexton 1. Схемы именно моих кнопок не нашёл. Те, что видел на тематических форумах похожие, но с другим количеством кнопок или с другими кнопками (по функциям). Поэтому на них именно полагаться не могу. Но там везде схемы при мерно такие же:
При ненажатых кнопках мультиметр показывает пустоту.
Изменения планируются такие, что между панелью кнопок и магнитолой встанет ардуино, который будет читать кнопки и сигнал о нажатии клавиш громкости и питания отдавать магнитоле. Остальное забирать себе и магнитоле ничего не говорить об этом.
Внутри у вас 3.2 килоома на питание.
А резисторы на картинке равны: 330 560 810 1К2 1К8 3К9 10К - вполне стандартный ряд.
Подключение слева, но не справа. Всё правильно
R8 = 3,2 kOm , находится в магнитоле
ардуина читает кнопку, нужную магнитоле выдаёт в виде сопротивления через MCP41050 - штатный режим.
две кнопки не отследить - в работе только самая левая нажатая....
зато можно отследить быстрое 2....5 раз нажатий или длинное нажатие на 1, 3, 5, 10 сек - зависит от ваших задач ( желаний ) :)
ИК-канал на схеме не показан....
магнитолой управляем цифровым потенциометром, подавать напряжение я бы не стал ( ещё и ЦАП придётся строить )
Спасибо за наводки (гы :)), детальную схему и расчёт резисторов!

(про 3К3 в магнитоле, правда, я допёр уже по сопротивлению и вольтажу кнопки Seek -, поэтому и что-то говорил про делитль напряжения).
Правда не совсем понял этот момент:
Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.
Буду ковырять на тему MCP41050 - это, собственно, и есть главный ответ на мой вопрос "как отдать". Ещё раз спасибо за отзывчивость.
ИК-канал будет представлен в виде передающего ИК диода, подключенного к ардуино и "стреляющего" в приёмник стороннего девайса - эта схема уже на столе удовлетворительно работает с кнопками и резисторами взятыми от балды. Пришлось только немного библиотеку IRremote подправить - что-то там с таймером было, тут на форуме разбиралось. Заковыка оставалась только в том, что тут обсуждали.
Ну и да, если всё пойдёт удачно, планировал использовать долгие нажатия для переключения некоторых клавиш с управления магнитолой на управление по ИК и обратно, но это уже из серии nice to have.
Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.
это для проверки работы MCP в Протеусе....
будет совпадать - в магнитоле тоже 5 V, но на выход панели приходит через 3,2 Kom.
программно настроите что читает МК, делов-то.... :)
а вы измеряли U , а не R на контактах панели при ненажатых кнопках ( или на контактах магнитолы при отсоединёной панели ) ?
такого замера в #8 нет...
Есть, это слева на картинке, 4.8 Вольт. А 4.8 или 5 нет большой разницы- всё равно должны быть пороги с "окном"....
:( просмотрел.... мне жена налево запрещает :) , программно настроите что читает МК, делов-то.... :) , всё равно должно быть пороги с "окном"....
:)
Угу, понял. Да, "окна" есть, но небольшие - вчера потыкался с потенциометрами. Ну это уже не беда, можно учесть в скетче.
У меня изначально была мысль делать это всё совсем по-механически - на реле. Сейчас посмотрел, что это ещё и более дешёвый способ (не особо, конечно). И если уж обсуждение ещё живо, то может пара соображений о плюсах/минусах обоих способов? Учитывая, что я 0 в этом деле практически - и в электронике, и в писанине кода.
на реле ИК-передатчик не получится... значит будет ардуина, ею управлять или MCP, или восемью реле с резисторами - ваше дело :)
кодом здесь помогут, пайкой - нет, тока советами.....
Да, "окна" есть, но небольшие - вчера потыкался с потенциометрами. Ну это уже не беда, можно учесть в скетче.
восемь окон для семи кнопок - это широкие окна - по 128 из 1024
To: negazets
Благодарю, trembo. Буду иметь в виду.
А почему не выйдет ИК и реле? Реле мне достаточно 4-ёх - мне нужны только громкость (включая Mute) и Power. Остальные кнопки пойдут на управление ИК диодом.
Под соображениями о плюсах/минусах я имел в виду (чтоб не выпадать из тематики ветки) в том числе и какие-то аппаратные ограничения. Не знаю, скорость и надёжность отрабатывания. Ну и да, простота кода тоже немаловажна для меня, так понимаю для управления MCP41050 нужна SPI библиотека? И, конечно, соображения более опытных людей интересны.
тогда кнопки поиск+, поиск-, режим - отпаяйте и отдельными проводами выведите для использования в ИК, а штатные кнопки будут работать только на магнитолу....
для управления MCP41050 нужна SPI библиотека?
да
Реле не ставьте, это габарит сильно увеличит. Да и ради коммутации миллиамперов на землю применение реле полностью избыточно, там даже транзисторы внешние будут лишними, прямо на пины процессора резисторы включать и два провода в приёмник ( если недалеко).
Что-то вы коллеги всё усложняете. По моему ни реле, не цифр.потенциометр тут не обязательны, ничего не мешает тому, что бы просто напрямую подключить выходы ардуины паралельно кнопкам. "Замыкать" кнопки переводом порта в OUTPUT,LOW, затем возвращая порт в высокоимпендасное состояние. Я уже как-то решал подобную задачу, проблем не было.
откуда ардуина узнает какую ей кнопку "нажать" ?
SU-27-16, ну как, из программы узнает :) Каждой кнопке будет соответствие порта контроллера., напр. d2-play, d3-stop, d4-pause. Пины ардуино подсоединяеются каждый паралельно своей кнопке. Так что проблем не должно быть..
Нет у него ( скорее всего) доступа к каждой кнопке. А есть контакт куда эти кнопки подключают свои резисторы.
И нам надо туда-же, на этот контакт, подключить свои резисторы. И коммутировать их на землю пинами Ардуины. Каждый резистор на свой пин и на землю. или цепочкой как на схеме.
кнопки будет нажимать ТС , так что ? делать панель кнопок управления МК, чтобы он имитировал нажатия на панели ?
я понял задачу ТС как - из 7 кнопок 4 управляют магнитолой , 3 управляют каким-то модулем с ИК.
поэтому - вот так - #23 тогда кнопки поиск+, поиск-, режим - отпаяйте и отдельными проводами выведите для использования в ИК, а штатные кнопки будут работать только на магнитолу....
Нет у него ( скорее всего) доступа к каждой кнопке. А есть контакт куда эти кнопки подключают свои резисторы.
И нам надо туда-же, на этот контакт, подключить свои резисторы. И коммутировать их на землю пинами Ардуины. Каждый резистор на свой пин и на землю. или цепочкой как на схеме.
хорошо... панель не ломаем, встаём аналоговым пином на там где 4,8 V - вылавливаем кнопки, от 3 кнопок ардуина по программе управляет ИК, магнитола по штатной схеме , НО магнитола будет реагировать и на кнопки для ИК, т.е. их нужно отпаять от своих резисторов
итого для прояснения, ТС :
- панель штатная бУдет отключаться от магнитолы ?
- есть доступ к кнопкам панели ? или доступны только два провода ?
ардуина может имитировать своими пинами нажатия кнопок, да. но для этого панель должна быть подключена к магнитоле, нажатие кнопки сразу поступает в магнитолу и ардуина вычислила кнопку, и своим пином ( параллельно нажатой кнопке ) дублирует её ? зачем ?
trembo, а.... тогда да, возни поболе. Но в принципе можно повесить на каждый выход ардуино свой резистор, и переводом в output,Low подключать его к выходу. Как-то так:
вы про это говорите ? просто чтобы убрать MCP ? R8 = 3,3 kOm
SU-27-16, по моему с резисторами проще,особенно для топикстартера :)
Ну да, зато понятно кто за что отвечает.
Хотя если резисторы первый 2-3, второй 3-4 итд, номиналы стандартного ряда, но могут не так просуммироваться , хотя вряд-ли....
ТО: SU-27-16 ничего не отключаем, цепляемся параллельно, вариант одновременного нажатия их кнопок и наших не рассматриваем так как он некорректный : а нефик было нажимать, знал ведь, предупреждали, а что ты думал когда нажимал и т. д.
trembo, - панель родная подключена, что и к чему цепляем параллельно ? подробнее, пожста :)
SU-27-16, по моему с резисторами проще,особенно для топикстартера :)
согласен, но их поточнее подобрать надо под родные из панели :)
Сейчас новые СМДэшки очень точные, это не МЛТ, подбираю их обычно запаяв следующий номинал и сверху второй для подгонки.
итого для прояснения, ТС :
- панель штатная бУдет отключаться от магнитолы ?
- есть доступ к кнопкам панели ? или доступны только два провода ?
- Я так понимаю, что это зависит от решения тех. дизайна, обсуждение которого тут разгорелось :) В начале, до того как Вы меня просветили относительно analogWrite и ЦАП, а потом и схемой с цифропотенциометром, думал не отключать. Теперь для меня понятнее схемы с отключениеми (но это ж не гарантия, что они лучше, правда? :) ).
- Доступ наверняка возможен. Но и так я довольно колхозные дела затеял, руль не хотелось бы кочеряжить. Да и непросто из руля провода вывести - так и вообще без микроконтроллеров можно было обойтись. Ну и теряю возможность двойного использования кнопок, если до этого дойдёт. И опять таки по собственному опыту опасаюсь бодушку безопасности.
Самая яснопонятная сейчас для меня схема с резисторами на пинах от dimax. Почти как моя с реле, только без реле :) Так понимаю, там землю на землю ардуино, +4,8 на пины с резисторами и знай опускай их каждый когда надо, согласно прочитанным кнопкам.
Ну и надо понимать, что это машина, когда-нить я её буду продавать. Я человек совестливый, стыдно будет продавать с ломаными кнопками руля.
trembo, я контакт Ваш успешно сохранил в dev/null. Не могли бы продублировать на одноимённый моему нику gmail?
1. Провод от кнопок идёт в разъёме, обычно под крышками рулевой колонки.
2. Снимаем клемму аккумулятора , ждём немного и пока разбираем руль можем делать с ним всё что угодно. ( это про подушку).
3. Кнопки все в разомкнутом состоянии, и наши и ваши, все в параллель, да хоть ещё 100500 кнопок, они все в обрыве. А вот если одну (любую) нажали она подключает своё сопротивление.
4. Ваши +4,8 это не +4,8 - это тот внутренний резистор 3200 Ом подключенный к +4,8 внутри к чемуто , а как- вас не должно интересовать. А померяв на нём напряжени мультиком с 10 Мегаомами входного сопротивления вы увидите на этом делителе 10003200 к 3200 почти всё напряжение на том конце 3200 Ом резистора. С таким-же успехом вы могли-бы замкнуть этот провод на землю миллиамперметром и увидеть что ток будет равен 4.8/3200 1.5 миллампера
negazets, т.е. будете строить по #33 ? там нужно для 4 кнопок 4 порта и 7 резисторов из стандартного ряда 330 560 810 1К2 1К8 3К9 10К , если не цепочка - то резисторы придётся парал/послед лепить 330 890 1700 18550
согласен, кроме - она подключает своё сопротивление - и сопротивления кнопок которые левее по схеме
trembo, вопрос по схемотехнике - ардуина и резисторы - пин=0 кнопка нажата ток 4,8 V - 3,3k - свой резистор - порт - земля,
пин=1 кнопка не нажата ток 5 V - свой резистор - АЦП магнитолы.
не нужен ли диод катодом к пину, анодом к резистору ? или смещение на диоде 0,7 V тоже чуть помешает АЦП магнитолы ?
спасибо :)
1. Диод при прохождении тока создаст падение напряжения и на АЦП пойдут другое напряжение с нашего делителя. Какие у него пороги мы знаем ( примерно) зачем нам не подавать туда такие же самые??????
2. Зачем диоды? У нас вторые концы ( те что мы к земле будем подключать) в воздухе ботаются, висят, совсем висят, отключены они, совсем отключены, обрыв там............ вместе с теми что в родной клаве стоят....... ( при ненажатых кнопках!) Или подключены на землю при нажатых.
Вход на инпуте без всяких привязок!
понятно... обходим это установкой режима пина ненажатой кнопки на вход без подтяжки.... Z-состояние не повлияет....
дёргаем DDRx и PORTx ?
оооднааааааако !!!! :)
спасибо ! :)
Дяденьки, а о чём это вы сейчас?
Да, #33 выглядит для меня реалистично. Соберу на столе, наваяю софты и опробирую. Для контроля качества моего понимания:
- Кнопки читаются через А0 (с подтяжкой на землю, да?);
- нужные мне резисторы / цепь резисторов торчит из пинов, допустим, 2, 3, 4, 5;
- пины 2, 3, 4, 5 по дефолту (согласно http://arduino.ru/Reference/Constants) в высокоимпедансном состоянии (и мне не страшно) и к ним подключен магнитоловый пин с +4,8;
- по необходимости я перевожу нужный мне из пинов с резистором в LOW;
- всё работает, так как GND пин магнитолы подключен к земле ардуины напрямую;
- я безмерно вам всем благодарен (хоть и сейчас уже тоже) по гроб жизни. Ну или пока не продам машину.
Ок, осталось только узнать с оказией у trembo где в наших краях лучшие злачные места с офигенными резисторами и прочим скарбом и начну.
- Кнопки читаются через А0 (с подтяжкой на землю, да?)
да ( без подтяжки )
- по необходимости я перевожу нужный мне из пинов с резистором в LOW;
по нажатию кнопки пин делаем выходным и сразу его в LOW
negazets: - Кнопки читаются через А0 (с подтяжкой на землю, да?);
Что? А0 - это вход АЦП.
Он измеряет напряжение на самом себе, себя меряет.......
Какую подтяжку, нам мерять надо! Напряжение! У нас резисторов кругом и так хватает. В панели и горсть наших.....