Можно ли подключать аналоговый выход на контакт с напряжением?

negazets
Offline
Зарегистрирован: 08.02.2015

Просто я филолог. 

Но как и миллионам людей до меня, мне приспичило привесить кнопки рулевого колеса авто к ардуино (в наличии Leonardo).

Задача: Сигналы от одной части кнопок передавать в штатное головное устройство без изменений. Другая часть будет рулить другим устройством (ИК передатчик) и их сигналы не отдавать магнитоле никогда. 

Дано: Кнопки резистивные. На магнитоле втыкаются в землю и +4,8В (так понимаю, там подягивающий резистор к +). Кнопки, соответственно, это вторая часть делителя напряжения, насколько позоляет мне судить моё гуманитарное. 

Схема мне представляется так: Кнопки не соединены с ГУ, я их читаю от ардуиновского +5В аналоговым входом. Прочитанные значения нужных кнопок отдаю магнитоле.

Вопрос - как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()? Или я дурак и всё надо коммутировать не так?

P.S. Знаю, что тема избитая, но я усердно 3 дня бороздил форумы и, често, так и не понял этот момент (см. начало поста).

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

рассчитать правильно резистивную клавиатуру, свои кнопки ГУ воспримет и обработает, чужие - не будет реагировать

ардуина воспримет любые кнопки, но какие, как обрабатывать, кому отсылать - дело программы, т.е. - ваше

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Вопрос - как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()? Или я дурак и всё надо коммутировать не так?

просто так не отдать - надо будет сымитировать сопротивление соответствующее данной кнопке :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
negazets
Offline
Зарегистрирован: 08.02.2015

Кнопки все родные. Чужих не будет.

Вопрос именно в "как правильно их отдать? Соединив пин ардуино напрямую (через диод/резистор/томик Блока) с +4,8В на магнитоле и через analogWrite()?" Т.е. правильная ли коммутация на физическом уровне - соединять пин с контактом под напряжением и подавать на него аналоговый сигнал?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

через диод можно, но analogWrite() - это далеко не аналоговый сигнал ! 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

подавать сигнал с ЦАП - другое дело

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

дайте схему штатной резистивной панели для магнитолы ( с номиналами резисторов ) и новую ( сколько там доп кнопок )

negazets
Offline
Зарегистрирован: 08.02.2015

Схему менять не планирую и новых кнопок добавлять тоже. Просто хочу использовать часть кнопок "как было", а другую часть - для другого девайса.

У меня SsangYong Rexton 1. Схемы именно моих кнопок не нашёл. Те, что видел на тематических форумах похожие, но с другим количеством кнопок или с другими кнопками (по функциям). Поэтому на них именно полагаться не могу. Но там везде схемы при мерно такие же:

При ненажатых кнопках мультиметр показывает пустоту.

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

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Внутри у вас 3.2 килоома на питание.

А резисторы на картинке равны:  330   560   810   1К2    1К8   3К9   10К  - вполне стандартный ряд.

Подключение слева, но не справа. Всё правильно

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

R8 = 3,2 kOm , находится в магнитоле

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ардуина читает кнопку, нужную магнитоле выдаёт в виде сопротивления через MCP41050 - штатный режим.

две кнопки не отследить - в работе только самая левая нажатая....

зато можно отследить быстрое 2....5 раз нажатий или длинное нажатие на 1, 3, 5, 10 сек - зависит от ваших задач ( желаний ) :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ИК-канал на схеме не показан....

магнитолой управляем цифровым потенциометром, подавать напряжение я бы не стал ( ещё и ЦАП придётся строить )

negazets
Offline
Зарегистрирован: 08.02.2015

Спасибо за наводки (гы :)), детальную схему и расчёт резисторов!
(про 3К3 в магнитоле, правда, я допёр уже по сопротивлению и вольтажу кнопки Seek -, поэтому и что-то говорил про делитль напряжения).
Правда не совсем понял этот момент:

Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.

Буду ковырять на тему MCP41050 - это, собственно, и есть главный ответ на мой вопрос "как отдать". Ещё раз спасибо за отзывчивость.

ИК-канал будет представлен в виде передающего ИК диода, подключенного к ардуино и "стреляющего" в приёмник стороннего девайса - эта схема уже на столе удовлетворительно работает с кнопками и резисторами взятыми от балды. Пришлось только немного библиотеку IRremote подправить - что-то там с таймером было, тут на форуме разбиралось. Заковыка оставалась только в том, что тут обсуждали.
Ну и да, если всё пойдёт удачно, планировал использовать долгие нажатия для переключения некоторых клавиш с управления магнитолой на управление по ИК и обратно, но это уже из серии nice to have.

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.Это просто измерение вольтажа / обозначение, что он там должен совпадать? В моём случае совпадать не будет же, так как в магнитоле 4.8, а в ардуино 5.

это для проверки работы MCP в Протеусе....

будет совпадать - в магнитоле тоже 5 V, но на выход панели приходит через 3,2 Kom.

программно настроите что читает МК, делов-то.... :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а вы измеряли U , а не R на контактах панели при ненажатых кнопках ( или на контактах магнитолы при отсоединёной панели ) ?

такого замера в #8 нет...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Есть, это слева на картинке, 4.8 Вольт. А 4.8 или 5  нет большой разницы- всё равно должны быть пороги с "окном"....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

:( просмотрел.... мне жена налево запрещает :) , программно настроите что читает МК, делов-то.... :) , всё равно должно быть пороги с "окном"....

:)

negazets
Offline
Зарегистрирован: 08.02.2015

Угу, понял. Да, "окна" есть, но небольшие - вчера потыкался с потенциометрами. Ну это уже не беда, можно учесть в скетче.
У меня изначально была мысль делать это всё совсем по-механически - на реле. Сейчас посмотрел, что это ещё и более дешёвый способ (не особо, конечно). И если уж обсуждение ещё живо, то может пара соображений о плюсах/минусах обоих способов? Учитывая, что я 0 в этом деле практически - и в электронике, и в писанине кода.  
 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

на реле ИК-передатчик не получится... значит будет ардуина, ею управлять или MCP, или восемью реле с резисторами - ваше дело :)

кодом здесь помогут, пайкой - нет, тока советами.....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Да, "окна" есть, но небольшие - вчера потыкался с потенциометрами. Ну это уже не беда, можно учесть в скетче.

восемь окон для семи кнопок - это широкие окна - по 128 из 1024

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

To: negazets 

negazets
Offline
Зарегистрирован: 08.02.2015

Благодарю, trembo. Буду иметь в виду.
 

А почему не выйдет ИК и реле? Реле мне достаточно 4-ёх - мне нужны только громкость (включая Mute) и Power. Остальные кнопки пойдут на управление ИК диодом. 
Под соображениями о плюсах/минусах я имел в виду (чтоб не выпадать из тематики ветки) в том числе и какие-то аппаратные ограничения. Не знаю, скорость и надёжность отрабатывания. Ну и да, простота кода тоже немаловажна для меня, так понимаю для управления 
MCP41050 нужна SPI библиотека? И, конечно, соображения более опытных людей интересны.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

тогда кнопки поиск+, поиск-, режим - отпаяйте и отдельными проводами выведите для использования в ИК, а штатные кнопки будут работать только на магнитолу....

для управления MCP41050 нужна SPI библиотека?

да

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Реле не ставьте, это габарит сильно увеличит. Да и ради коммутации миллиамперов на землю применение реле полностью избыточно, там даже транзисторы внешние будут лишними, прямо на пины процессора резисторы  включать и два провода в приёмник ( если недалеко).

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Что-то вы коллеги всё усложняете.  По моему ни реле,  не цифр.потенциометр тут не обязательны, ничего не мешает тому, что бы просто напрямую подключить выходы ардуины паралельно кнопкам. "Замыкать" кнопки переводом порта в OUTPUT,LOW, затем возвращая порт в высокоимпендасное состояние. Я уже как-то решал подобную задачу, проблем не было.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

откуда ардуина узнает какую ей кнопку "нажать" ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

SU-27-16, ну как, из программы узнает :) Каждой кнопке будет соответствие порта контроллера., напр. d2-play, d3-stop, d4-pause. Пины ардуино подсоединяеются каждый паралельно своей кнопке. Так что проблем не должно быть..

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Нет у него ( скорее всего) доступа к каждой кнопке. А есть контакт куда эти кнопки подключают свои резисторы.

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

кнопки будет нажимать ТС , так что ? делать панель кнопок управления МК, чтобы он имитировал нажатия на панели ?

я понял задачу ТС как - из 7 кнопок 4 управляют магнитолой , 3 управляют каким-то модулем с ИК.

поэтому - вот так - #23 тогда кнопки поиск+, поиск-, режим - отпаяйте и отдельными проводами выведите для использования в ИК, а штатные кнопки будут работать только на магнитолу....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

trembo пишет:

Нет у него ( скорее всего) доступа к каждой кнопке. А есть контакт куда эти кнопки подключают свои резисторы.

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

хорошо... панель не ломаем, встаём аналоговым пином на там где 4,8 V - вылавливаем кнопки, от 3 кнопок ардуина по программе управляет ИК, магнитола по штатной схеме , НО магнитола будет реагировать и на кнопки для ИК, т.е. их нужно отпаять от своих резисторов

итого для прояснения, ТС :

- панель штатная бУдет отключаться от магнитолы ?

- есть доступ к кнопкам панели ? или доступны только два провода ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ардуина может имитировать своими пинами нажатия кнопок, да. но для этого панель должна быть подключена к магнитоле, нажатие кнопки сразу поступает в магнитолу и ардуина вычислила кнопку, и своим пином ( параллельно нажатой кнопке ) дублирует её ? зачем ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

trembo, а.... тогда да, возни поболе. Но в принципе можно повесить на каждый выход ардуино свой резистор, и переводом в output,Low     подключать его к выходу. Как-то так:

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

вы про это говорите ? просто чтобы убрать MCP ? R8 = 3,3 kOm

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

SU-27-16, по моему с резисторами проще,особенно для топикстартера :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Ну да, зато понятно кто за что отвечает.

Хотя если резисторы первый 2-3, второй 3-4 итд, номиналы стандартного ряда, но могут не так просуммироваться , хотя вряд-ли....

ТО: SU-27-16 ничего не отключаем, цепляемся параллельно, вариант одновременного нажатия их кнопок и наших  не рассматриваем так как он некорректный :  а нефик было нажимать, знал ведь, предупреждали, а что ты думал когда нажимал и т. д.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

trembo, - панель родная подключена, что и к чему цепляем параллельно ? подробнее, пожста :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dimax пишет:

SU-27-16, по моему с резисторами проще,особенно для топикстартера :)

согласен, но их поточнее подобрать надо под родные из панели :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Сейчас новые СМДэшки очень точные, это не МЛТ, подбираю их обычно запаяв следующий номинал и сверху второй для подгонки.

negazets
Offline
Зарегистрирован: 08.02.2015

SU-27-16 пишет:

итого для прояснения, ТС :

- панель штатная бУдет отключаться от магнитолы ?

- есть доступ к кнопкам панели ? или доступны только два провода ?

 - Я так понимаю, что это зависит от решения тех. дизайна, обсуждение которого тут разгорелось :) В начале, до того как Вы меня просветили относительно analogWrite и ЦАП, а потом и схемой с цифропотенциометром, думал не отключать. Теперь для меня понятнее схемы с отключениеми (но это ж не гарантия, что они лучше, правда? :) ). 

 - Доступ наверняка возможен. Но и так я довольно колхозные дела затеял, руль не хотелось бы кочеряжить. Да и непросто из руля провода вывести - так и вообще без микроконтроллеров можно было обойтись. Ну и теряю возможность двойного использования кнопок, если до этого дойдёт. И опять таки по собственному опыту опасаюсь бодушку безопасности. 

Самая яснопонятная сейчас для меня схема с резисторами на пинах от dimax. Почти как моя с реле, только без реле :) Так понимаю, там землю на землю ардуино, +4,8 на пины с резисторами и знай опускай их каждый когда надо, согласно прочитанным кнопкам.

Ну и надо понимать, что это машина, когда-нить я её буду продавать. Я человек совестливый, стыдно будет продавать с ломаными кнопками руля. 

trembo, я контакт Ваш успешно сохранил в dev/null. Не могли бы продублировать на одноимённый моему нику gmail?

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Провод от кнопок идёт в разъёме, обычно под крышками рулевой колонки.

2. Снимаем клемму аккумулятора , ждём немного и пока разбираем руль можем делать с ним всё что угодно. ( это про подушку).

3. Кнопки все в разомкнутом состоянии, и наши  и ваши, все в параллель, да хоть ещё 100500 кнопок, они все в обрыве. А вот если одну (любую) нажали она подключает своё сопротивление.

4. Ваши +4,8 это не +4,8 - это тот внутренний резистор 3200 Ом подключенный к +4,8 внутри к чемуто , а как- вас не должно интересовать. А померяв на нём напряжени мультиком с 10 Мегаомами входного сопротивления вы увидите на этом делителе  10003200 к 3200 почти всё напряжение на том конце 3200 Ом  резистора. С таким-же успехом вы могли-бы замкнуть этот провод на землю миллиамперметром и увидеть что ток будет равен 4.8/3200  1.5 миллампера

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

negazets, т.е. будете строить по #33 ? там нужно для 4 кнопок 4 порта и 7  резисторов из стандартного ряда 330   560   810   1К2    1К8   3К9   10К , если не цепочка - то резисторы придётся парал/послед лепить 330   890   1700   18550

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

согласен, кроме - она подключает своё сопротивление - и сопротивления кнопок которые левее по схеме

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

trembo, вопрос по схемотехнике - ардуина и резисторы - пин=0 кнопка нажата ток 4,8 V - 3,3k - свой резистор - порт - земля,

пин=1 кнопка не нажата ток 5 V - свой резистор - АЦП магнитолы.

не нужен ли диод катодом к пину, анодом к резистору ? или смещение на диоде 0,7 V тоже чуть помешает АЦП магнитолы ?

спасибо :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Диод при прохождении тока создаст падение напряжения и на АЦП пойдут другое напряжение с нашего делителя. Какие у него пороги мы знаем ( примерно) зачем нам не подавать туда такие же самые??????

2. Зачем диоды? У нас вторые концы ( те что мы к земле будем подключать) в воздухе ботаются, висят, совсем висят,  отключены они, совсем отключены, обрыв там............ вместе с теми что в родной клаве стоят....... ( при ненажатых кнопках!) Или подключены на землю при нажатых.

Вход на инпуте без всяких привязок!

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

понятно... обходим это установкой режима пина ненажатой кнопки на вход без подтяжки.... Z-состояние не повлияет....

дёргаем DDRx и PORTx ?

оооднааааааако !!!! :)

спасибо ! :)

negazets
Offline
Зарегистрирован: 08.02.2015

Дяденьки, а о чём это вы сейчас?

Да, #33 выглядит для меня реалистично. Соберу на столе, наваяю софты и опробирую. Для контроля качества моего понимания:

- Кнопки читаются через А0 (с подтяжкой на землю, да?);
- нужные мне резисторы / цепь резисторов торчит из пинов, допустим, 2, 3, 4, 5;
- пины 2, 3, 4, 5 по дефолту (согласно http://arduino.ru/Reference/Constants) в высокоимпедансном состоянии (и мне не страшно) и к ним подключен магнитоловый пин с +4,8;
- по необходимости я перевожу нужный мне из пинов с резистором в LOW;
- всё работает, так как GND пин магнитолы подключен к земле ардуины напрямую;
- я безмерно вам всем благодарен (хоть и сейчас уже тоже) по гроб жизни. Ну или пока не продам машину.

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 - Кнопки читаются через А0 (с подтяжкой на землю, да?)

да ( без подтяжки ) 

 - по необходимости я перевожу нужный мне из пинов с резистором в LOW;

по нажатию кнопки пин делаем выходным и сразу его в LOW

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

negazets: - Кнопки читаются через А0 (с подтяжкой на землю, да?);

Что? А0 - это вход АЦП.

Он измеряет напряжение на самом себе, себя меряет....... 

Какую подтяжку, нам мерять надо! Напряжение!  У нас резисторов кругом и так хватает. В панели  и   горсть наших.....