Универсальный адаптер, переводящий резистивный сигнал управления в кнопочный
Автор: KoledaS
Опубликовано 07.08.2012.
Создано при помощи КотоРед.
Цель: управлять любым устройством (FM-модулятор, mp3, НЕштатная магнитола, телефон,…) с помощью кнопок на руле авто (при условии, что на устройстве кнопки работают путем соединения контакта с землей, а кнопки на руле используют резистивную схему)
Идея заключается в следующем: преобразовать сигнал, идущий по одному проводу от резистивных кнопок, в сигнал на нескольких проводах. На том или другом выходном проводе будет появляться минус в зависимости от нажатой на руле кнопки.
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
На моём авто (Mazda Verisa) схема резистивного управления на руле выглядит так:
Если измерить сопротивление между проводами 1P и 1N, то получаем следующие результаты (на разных авто сопротивления могут отличаться, но это не важно, т.к. систему можно обучить любым сигналам):
кнопки отпущены — 5.05k
нажатие MUTE — 2.04k
нажатие MODE — 1.04k
нажатие P.SET — 0.564k
нажатие SEEK+ — 0.302k
нажатие VOL+ — 0.148k
нажатие VOL- — 0.055k
В штатной системе провод 1P подключен к земле, а на провод 1N в зависимости от нажатой кнопки устанавливается напряжение от 0 до 5В. Именно по величине напряжения система и понимает, какая из кнопок нажата. Провод 1N – это и есть провод с резистивным сигналом.
Не буду томить долгими вводными вступлениями, общая схема представлена ниже:
На схеме синий блок – панель кнопок на руле, красный блок – наш адаптер, сиреневый блок – кнопки на устройстве, которым хотим управлять. Как видно из схемы, адаптер позволяет запрограммировать до 8 кнопок.
Опишу всё поэлементно:
U1 – микроконтроллер(МК) ATmega8 (у нас его цена – 180р.).
D1, FUSE – диод и предохранитель (для безопасности, не обязательно, я у себя их не ставил).
J1 – разъем для подключения программатора (используется только один раз, для того чтобы залить в МК прошивку).
JP2, R2 – перемычка и сопротивление для добавления напряжения на 23 ногу. Эти элементы можно убрать, если адаптер подключается к штатной системе (т.е. если на проводе идущего от блока кнопок руля к 23 ноге МК уже есть напряжение). Если же провода от кнопок руля в авто никуда не подключены (как на схеме), то эти элементы нужны, т.к. именно благодаря им, на сигнальном проводе будет присутствовать и меняться, в зависимости от нажатия кнопок, напряжение. Я у себя эти элементы убрал, т.к. подключал адаптер к штатной системе. А вообще можно для универсальности поставить и переключаться между режимами перемычкой JP2.
JP1 – перемычка для входа в режим обучения адаптера. Если установлена, то адаптер переходит в режим обучения. Подробнее о режиме обучения ниже.
VCC 5volt (или VCC если отказались от D1 и FUSE) – питание 5 Вольт (я взял питание от FM-модулятора, которым и буду управлять, там как раз 5 Вольт). Кстати, 5В можно получить из 12В, вот схема:
Компоненты:
U1 — 78L05
C1 — 10mkF/25v
C2 — 10mkF/16v
D1 — 1N4007
Взял отсюда
Принцип работы: Изначально систему необходимо обучить, записав в EEPROM определенные АЦП для каждого канала порта D значения соответствующих кнопок. После этого в зависимости от нажатой на руле кнопки АЦП определит значение, найдет такие же значения в EEPROM, и определит каналы порта D, соответствующие найденному значению. После этого на эти каналы будет подан минус (земля). На одну кнопку руля может быть запрограммировано несколько каналов, таким образом при нажатии на эту кнопку минус будет подан на все запрограммированные каналы.
Запись прошивки в микроконтроллер ATmega8
Процесс прошивки МК очень прост, всё что для этого нужно это:
Компьютер с LPT портом
Программатор (пять проводков и 4 резистора)
Программа для прошивки (я использовал CodeVisionAVR 1.25.9 Professional)
Схему элементарного программатора «Пять проводков» я взял в интернете.
Подключаем программатор к компьютеру, затем к собранному адаптеру, после этого подаём питание на адаптер (5В к проводу VCC, можно взять из USB-порта или от провода блока питания компьютера).
Далее, нужно обновить конфигурацию оборудования, для того чтобы компьютер увидел устройство. Для этого нажимаем правой кнопкой мыши по значку «Мой компьютер» — Управление – Диспетчер устройств. Выбираем корневой узел дерева и нажимаем Действие – Обновить конфигурацию оборудования. После этого закрываем окно.
Открываем программу CodeVisionAVR. Идем в меню Settings – Programmer. Для программатора «5 проводков» выставляем следующие параметры:
Далее, идем в меню Tools – Chip Programmer. Устанавливаем все параметры как на рисунке:
Далее, File – Load FLASH и выбираем файл rtb_adapter.hex.
Далее, File – Load EEPROM и выбираем файл rtb_adapter.eep.
Далее, Program – Erase Chip.
Далее, Program – FLASH.
Далее, Program – EEPROM.
Если всё прошло без ошибок, закрываем программу, отключаем питание от адаптера, и отсоединяем от него программатор.
ВСЁ, АДАПТЕР ГОТОВ!
Подключение и обучение адаптера
Прежде чем подключать адаптер к кнопкам руля и к кнопкам устройства, которым хотите управлять, нужно убедиться в следующем:
На проводах от кнопок руля напряжение должно лежать в диапазоне от 0 до 5В.
Кнопки на устройстве, которым хотите управлять, должны работать так, что при нажатии на кнопку контакт соединяется с землей.
Если условия выполнены, соединяем провода и приступаем к обучению адаптера:
Устанавливаем перемычку JP1.
На устройстве, которым будем управлять, зажимаем и держим первую кнопку, которую будем использовать.
На руле зажимаем и держим ту кнопку которая будет соответствовать кнопке из пункта 2.
Не отпуская кнопки на руле, отпускаем кнопку на устройстве.
Отпускаем кнопку на руле.
Таким образом, мы обучили адаптер, поставив в соответствие кнопке на устройстве кнопку на руле. Повторяем пункты 2-5 до тех пор, пока не обучим адаптер всем нужным нам кнопкам.
После того как все кнопки запрограммированы, убираем перемычку JP1.
Проверяем работу адаптера, нажимая кнопки на руле должны срабатывать кнопки на устройстве. Всё, адаптер установлен и настроен!
Немного фоток
Заключение
Этот адаптер так бы и остался только в идеях, если бы не сайт radiokot.ru , а конкретно два человека Goodefine и radteh.
Выражаю им огромную благодарность за помощь, идеи и консультации по всем возникающим в процессе вопросам!!!
Также выражаю благодарность авторам сайта http://AVR123.nm.ru. По бесплатному учебному курсу, который находится на этом сайте, я освоил принципы работы с микроконтроллерами (не имея ни малейшего представления о том, что это такое) за 3 дня.
Во время разработки прошивки я также использовал программу для моделирования работы контроллера PROTEUS версия 7.8 SP2.
Файлы:
Проекты с исходниками, прошивка
Распиновка штекера блока питания компьютера
Редактировалось: 4 раз (Последний: 16 августа 2012 в 00:31)
Редактировалось: 1 раз (Последний: 15 августа 2012 в 23:40)
:affraid: А не проще жгут проводов винтовой от руля пустить?…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
Ты о чём? Шлейф? или тупо жгут скрутить и в руль засунуть? Если первый — то на мою то машину он существует, осталось только в магазе найти и цену посмотреть и решить его или подобную схему, а на твою? :Hyron_05: Ну а второе не проживёт и дня.. :NnfqZ:
Много вариантов… вплоть до контактной дорожки :kGWVi:
Так его не напрямую положить, а скрутить, например… Было бы желание……откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
А рукой до магнитолы уже никак не дотянуца,рука отвалица!И чё там включать на руле,раз вкл.,приехал-выкл.
Ну у меня далековато… Но я думал в одно время не магнитолой с руля управлять, а очистителями стекла — больно уж переключатель не удобно стоит, хотя тут проще на «гитару» камазовскую вывести переключатель, там запас кнопок есть…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
А если ещё одну гитару? :smile358:
так то да, но еслиб все так рассуждали, vs, до сих пор на деревьях жили и пешком всюду ходилиб…или прыгали… :shDnv: …..но к несчастью кому то всегда неймётся :ws18d: …
а вообще почему именно магнитолу? повесить на выходы можно всё что угодно….
банально…так то и на руль полно всяких пультов ДУ….. но это не то :sick:
а тут просто и «красиво»…
главное что б сигнал работал, всё остальное от лукавого… :smile11:люди просто так людьми не рождаются…
Тоже чтоль заморочица? :17473-1: А для любой современной магнитолы бывают?Для моей тока такой как дома,для телевизора в довесок продаёца,я его нестал брать,потеряеца быстро в машине! :laugh:
А, во, кстати, по эти фигнюшки забыл — гораздо более надежная и элегантная система!…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
:NnfqZ: :sick:
:super_smilies028: Ну-ну, паяльник те в руки и барабан на шею :rofl: Кнопки, кстати, от пульта можно вывести на руль непосредственно, а сам пульт в руле спрятать, только что б излучатель в нужную сторону смотрел (все равно, когда руль крутишь не до переключений треков и громкости :laugh: ). А еще проще игрушку какую-нить радиоуправляемую купить — там пульт и устройство приема, вся задача — подключить сигналы от приемника к кнопкам на магнитоле (или чего там), всязь тогда будет вообще беспроводная!…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я д
йствительно не хочу того, чего я не хочу?
Ёптель :17473-1: А мне сделаешь?Сам непонял чё,но мне надо! :NnfqZ:
изолентой примотать пульт к рулю… :smile11:люди просто так людьми не рождаются…
На двухсторонний скотч уж тогда! :affraid:
:super_smilies028: Ну если тебе так больше нравится :NnfqZ:
Я вообще-то думал внутрь рулевой колонки! :NnfqZ: У УАЗовских рулей (таких, как у меня) на лицевой стороне подушка из мягкой пластмассы достаточной толщины, чтобы туда пульт спрятать или че-то подобное……откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
Я заначку прятал! :smile3:
пафос нахуй! изолента или проволока. можно на саморезы накрайняк :aa6f1e8b77ee462d271cc00e4a9d4851: :NnfqZ:http://vk.com/evgenij_vanichev 8-9Об-255-7б-55 Женя http://cargocollective.com/evgenij_vanichev
«Буханки Вконтакте» http://vk.com/club_uaz452 УАЗ-39629 «Шрек» 2001г
http://vk.com/club17561817
да мне нравится, когда меньше всякого гламурного барахла…люди просто так людьми не рождаются…
ога, только ты не забывай, что эта подушка ещё и гудок — то-то будет весело — ты громкость регулируешь, а машина — сигналитhttp://vk.com/evgenij_vanichev 8-9Об-255-7б-55 Женя http://cargocollective.com/evgenij_vanichev
«Буханки Вконтакте» http://vk.com/club_uaz452 УАЗ-39629 «Шрек» 2001г
http://vk.com/club17561817
нет, это не сигнал, сигналы сбоку…
люди просто так людьми не рождаются…
Ну ты и хипстер! :1111304229: Ржавые гвозди на обочине найти и ими захерачить! :rofl:
Те надо мою машину по ближе дать посмотреть — вот уж где антигламур :NnfqZ:
Я грю про хантеровские рули, там сигналка на лепестках таких на спицах руля :qPU7r:…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
Я эту подушку сломал нахуй :rofl:…откуда мне знать, как назвать то… чего я хочу? И
откуда мне знать, что на самом-то деле я не хочу того, чего я хочу? Или,
скажем, что я действительно не хочу того, чего я не хочу?
уже?
повторяю
http://vk.com/evgenij_vanichev 8-9Об-255-7б-55 Женя http://cargocollective.com/evgenij_vanichev
«Буханки Вконтакте» http://vk.com/club_uaz452 УАЗ-39629 «Шрек» 2001г
http://vk.com/club17561817
Чтож-ты в неё засовывал-то-х.. чтоль? :smile3: