Подключение кнопок на руле к планшету

Обновлено: 25.11.2022

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

Давайте разберемся как это реализовать по шагово.

Для начала нам необходимо приобрести плату Arduino Leonadro или ArduinoMicro, главное отличие этих контроллеров в том что на них установлены микропроцессоры Atmega32u4 которая имеет на борту встроенную поддержку USB-соединения, благодаря чему не требуется вспомогательный процессор. Это позволяет устройствам на Atmega32u4 появляться на подключенном планшете (с поддержкой OTG) или компьютере в качестве мыши или клавиатуры в дополнение к виртуальному (CDC) последовательному порту (COM). В общем подойдет любой arduino совместимый контроллер который построен на Atmega32u4.

Вторым шагом после того как приобрели необходимый вам контроллер необходимо скачать ArduinoIDE и установить для того чтобы установились драйвера, затем чтобы работали все функции скачайте подготовленную мной портативную версию ArduinoIDE вот ЗДЕСЬ, в этот архив уже добавлены все необходимые библиотеки и изменены файлы для работы в качестве медиа клавиатуры.

podres

Далее в качестве примера я выбрал Arduino Leonardo и нам необходимо собрать схему как указано на картинке слева. Т.е установить подтягивающий резистор на 10кОм между ногами GND и A0, это нужно для того чтобы АЦП процессора не показывал паронормальные явления. Т.е нам нужные стабильные значения, в данном случае значение АЦП в терминале будет показывать 0 (где брать значения читайте ниже), если мы поставим Резистор между 5v и A0 значение АЦП в терминале будет показывать 1023. Благодаря встроенному 10-и битному АЦП мы и будем читать резистивные кнопки автомобиля.

podres1

Теперь после того как мы подключили подтягивающий резистор необходимо подключить резистивные кнопки, для этого берем 1 резистор на 1 кОм ещё один на 2 кОм, (будем собирать своего рода делитель напряжения) и 2 кнопки. По идее это всё можно и не собирать если у вас на руках резистивные кнопки автомобиля у них обычно 4 и более кнопок но всего 2 провода. Как можно видать на схеме справа у нас 2 кнопки но их количество можно увеличить скажем до 100 но будет управляться всего 2 мя проводами. 1 конец провода соединяем к порту A0 второй к порту 5v

podres2

Слева можете наблюдать схему как всё подключено, Подтягивающий резистор R1 на 10 кОм подключен между GND и A0, далее 2 резистора R2 и R3 выступают в качестве резистивной клавиатуры один конец этих сопротивлений соединен с портом A0 вторые концы к кнопкам S1 и S2 в свою очередь выводы кнопок подключены к порту 5v. Так что же произойдет если мы нажмем на кнопку кнопку S1? У нас через резистор R2 пойдёт напряжение на порт A0, но пойдёт туда не 5в а меньше так как на резисторе R2 произойдёт падение напряжения и на порту A0 окажеться примерно 4.5 если нажать на S2 то у него в цепи стоит R3, сопротивление которого больше чем у R1 значит падение на нем тоже будет больше и на порт A0 придет примерно 4.1в, эти разные значения мы и будем считывать.

provod3

И так мы всё подключили, теперь будем программировать, запустите arduino с распакованной папки arduino-1.0.5-r2 которую скачивали чуть выше. Теперь скопируйте код который под спойлером ниже и вставьте в ArduinoIDE. После того как загрузиться программа в ардуино, откройте Сервис -> Монитор порта. Если всё правильно подключено вы увидите что каждые пол секунды у вас появляется 0. Когда я нажимаю кнопку S1 у меня появляется значение ~930 оно немного может меняться, когда нажимаю кнопку S2 появляется значение ~853. Вот мы и считали резистивные кнопки, запишем их на какой нибудь листок S1 - 930, S2-853.

Ниже скетч для считывания значений кнопок.

И так значения считали, теперь давайте сделаем переключение музыки и т.д. нам понадобятся следующие команды:

После того как загрузите этот скетч в arduino, включите на компьютере плеер с музыкой и попробуйте нажать кнопку S1 по идее должно произойти переключение музыки на следующую при нажитии кнопки S2 на предыдущую. Для того чтобы добавить остальные команды просто добавляем ещё один пункт значений присваиваем им нужные значения и загружаем в ардуино, в общем то и всё. (если устройство работает на компьютере то будет и работать на планшете с OTG)

Далее поговорим как связать один рулевой пульт с планшетом и магнитолой:

Магнитолы фирмы Sony и Pioneer для управления используют определённые сопротивления (номиналы на картинках ниже), от фирм Alpain и Kewoor определённый протокол похожий на IR сигнал пульта от телевизора только он передается по проводу.

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

5468

Для управления магнитолами Pioneer и Sony используется микросхема MCP4131-104 это цифровой потенциометр на котором можно регулировать сопротивление от 0 кОм до 100 кОм в 129 шагов (этого достаточно чтоб управлять магнитолами) Для управления Alpain и Kenwood микросхему MCP4131-104 ставить не нужно а просто замкнуть перемычку 1 и 2 или если смотреть на ноги микросхемы MCP-4131-104 замкнуть CS(D5) с P0W(JACK 3.5 +), в этом случае выход D5 arduino напрямую пойдёт на вывод JACK3.5 + и в прошивке необходимо указать сигнальный вывод порт D5 для передачи кодов на магнитолы. В качестве источника питания используется микросхема MC34063 она имеет отличное кпд по сравнению с LM7805, но обвязка немного сложнее чтоб получить 5в. Напряжение на вывод +12V можно подавать от 6-до40. По идее питане можно и не разводить, а брать напрямую с USB устройства но в таком случае значение АЦП плавают в зависимости от напряжения на порту USB вследствии чего трудно настроить резистивные кнопки или вообще не возможно.


Все привет! Эта 5-я часть продолжения темы с постройкой головного устройства на планшете Nexus 7 2013.


Проект еще не закончен, потихоньку допиливаю, добавляю дополнительные модули. В этот раз разговор пойдет о периферии планшета, о дополнительных устройствах, которые расширяют и так не маленький функционал планшета. На данный момент я катаюсь с установленным планшетов в авто больше года, грубо говоря с конца 2017 года. За этот период он пережил 2 зимы и одно жаркое лето. Летом гонял на юг в Краснодарский край, в течении всего маршрута постоянно работала навигация и музыка. Внешняя GPS антенна отрабатывала на все 100, не разу не теряла сигнал, да и с точностью не было не каких проблем. В зимний период планшет спокойно включался и работал, но была одна небольшая проблема. В планшете при температурах ниже 0 градусов отключался USB, само собой аудиокарта которая подключена к этому разъему не функционировала. Эта проблема связана с микросхемой в самом планшете, которая как раз и отвечает за работу USB порта. Грубо говоря она работает только при плюсовой температуре. Проблема решалась просто, нужно было немного прогреть салон. Все это время на USB висела одна только аудиокарта, а из нее звук шел через AudioLink (аналог Yatour) в автомагнитолу. Все это хорошо, но нужно было подключать еще и флешку, приходилось постоянно передергивать устройства. Поэтому нужно устанавливать USB хаб.


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

Итак, в качестве хаба взял старый добрый D-Link H7 в версии с серым корпусом. Первым делом нужно было решить вопрос с питанием хаба. Работает он от 5 вольт и потребляет максимум 3 ампера. Поэтому я взял ту же модель стабилизатора напряжения, который я использовал в блоке питания планшета, к счастью я их заказывал с запасом. Блок питания хаба решил устанавливать в его же корпус, благо места было достаточно. Помимо БП на плате распаял реле времени на микросхеме NE555. Оно нужно для включения камеры заднего вида с небольшой задержкой, так как у меня АКПП не хотелось видеть, как КЗХ постоянно включатся при переключении с паркинга на драйв. Провода от БП припаял непосредственно к штатному разъему питания на хабе. Что бы случайно не спалить USB порт на планшете, я выпаял диод между плюсовой линией USB разъема и плюсом от блока питания. Получилось так что USB порт запитывал только главную микросхема в хабе, а БП запитывал все остальное. На место диода припаял провод со стороны USB, который управляет силовым полевым транзистором, который в свою очередь подает +12В на БП хаба. То есть когда включается USB OTG на планшете, открывается силовой транзистор и хаб включается. Таймер времени так же управляет полевым транзистором, который я врезал в разрез шины питания 1го разъема USB в хабе. Когда включается задняя передача, таймер отсчитывает около 2х секунд и подает напряжение на транзистор, тот открывается и напряжение подается на USB разъем в который воткнут EasyCap.


После последнего видео меня завалили вопросами о том как подключить кнопки руля к планшету.


есть возможность подключить их через arduino




Но это не просто
Я продключил через ELM 327



Более подробно на видео

Комментарии 70


Мне одному кажется что это работает ТОЛЬКО у тебя и ТОЛЬКО на твоей машине? Я уже в 7-ми разных машинах и 4-мя разными ELM327 пробовал… соединение с адаптером есть (Connected to OBDII загорается) и модель адаптера определяет. Но НИЧЕГО не работает )))) ни терминал этот ни чего не показывает, ни кнопки не реагируют ни на что ((( лучше убери это видео, а то люди только входят в заблуждение от него… или пометь что только chrysler


Добрый день. Подскажите программа подключилась. А что дальше делать не пойму. Что то ввести надо или что?


Программа кнопки видит?


:)) а как понять видит или нет?


Видишь у меня на фото зеленые строчки? Это нажатие кнопок. Включи режим чтения шины (в самом низу) и тыркай кнопочки)))


А как включить и где этот режим чтения шины? Чё то не найду


В самом низу, в программе.


спасибо за пост. давно искал что-то подобное


Думаю надо еще по ардуино сделать видео. Не все понимают как подключить без гемороя)))


ну ардуино только если с резистивными кнопками, там все просто делается, потому что если can шина, это другой шилд надо(либо самодельный либо с али can-bus, и мониторить шину, еще и куча всего сыпется туда, и если подключаешься в OBD2, то не всегда корректно считываются данные, надо непосредственно на шину магнитолы садиться, и под многие авто все очень индивидуально. если достать исходники проги, или хотябы что она в порт шлет(запросы полные к elm)я могу универсальный софт набодяжить хоть для подключения по wi-fi, хоть USB, или даже предусмотреть возможность считывания резистивных данных с помощью ардуино только в удобной форме под андройд


Здравствуйте, хочу в свой авто opel поставить карпс на основе планшета нексус 7, уже имеется рамка и планшет, остался вопрос с кнопками на руле, можно ли их подключить как-нибудь к планшету, как я понял кнопки работает через шину Can-Bus, может кто уже подключал?





__________________
Chaser продал
forester продал
Legacy продал
Impreza GH8 идет постройка. Продал, комп забрал.
Toyota Camry 2015 07.09.18 Продал комп отдал с машиной, следующий будет полностью с ноля!


Здравствуйте, хочу в свой авто opel astra j gtc поставить карпс на основе планшета нексус 7, уже имеется рамка и планшет, остался вопрос с кнопками на руле, можно ли их подключить как-нибудь к планшету, как я понял кнопки работает через шину Can-Bus, может кто уже подключал?

Под Н-ку делают тут
Следи за темой, может и на J-ку сделают.
Кнопки в опелях действительно на кан шине.
По ходу дела, никто ещё так и не сделал.



А поделиться наработками ?



Связку то я представляю.
Даже микрухи для кан-шилда лежат и ардуина про микро имеется.
Останавливало в написании скетча отсутствие понимания параметров опроса кан шины.
А на форуме только для шкоды видел.
Если поделитесь скетчем, будет здорово ))


Все привет! Эта 5-я часть продолжения темы с постройкой головного устройства на планшете Nexus 7 2013.


Проект еще не закончен, потихоньку допиливаю, добавляю дополнительные модули. В этот раз разговор пойдет о периферии планшета, о дополнительных устройствах, которые расширяют и так не маленький функционал планшета. На данный момент я катаюсь с установленным планшетов в авто больше года, грубо говоря с конца 2017 года. За этот период он пережил 2 зимы и одно жаркое лето. Летом гонял на юг в Краснодарский край, в течении всего маршрута постоянно работала навигация и музыка. Внешняя GPS антенна отрабатывала на все 100, не разу не теряла сигнал, да и с точностью не было не каких проблем. В зимний период планшет спокойно включался и работал, но была одна небольшая проблема. В планшете при температурах ниже 0 градусов отключался USB, само собой аудиокарта которая подключена к этому разъему не функционировала. Эта проблема связана с микросхемой в самом планшете, которая как раз и отвечает за работу USB порта. Грубо говоря она работает только при плюсовой температуре. Проблема решалась просто, нужно было немного прогреть салон. Все это время на USB висела одна только аудиокарта, а из нее звук шел через AudioLink (аналог Yatour) в автомагнитолу. Все это хорошо, но нужно было подключать еще и флешку, приходилось постоянно передергивать устройства. Поэтому нужно устанавливать USB хаб.


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

Итак, в качестве хаба взял старый добрый D-Link H7 в версии с серым корпусом. Первым делом нужно было решить вопрос с питанием хаба. Работает он от 5 вольт и потребляет максимум 3 ампера. Поэтому я взял ту же модель стабилизатора напряжения, который я использовал в блоке питания планшета, к счастью я их заказывал с запасом. Блок питания хаба решил устанавливать в его же корпус, благо места было достаточно. Помимо БП на плате распаял реле времени на микросхеме NE555. Оно нужно для включения камеры заднего вида с небольшой задержкой, так как у меня АКПП не хотелось видеть, как КЗХ постоянно включатся при переключении с паркинга на драйв. Провода от БП припаял непосредственно к штатному разъему питания на хабе. Что бы случайно не спалить USB порт на планшете, я выпаял диод между плюсовой линией USB разъема и плюсом от блока питания. Получилось так что USB порт запитывал только главную микросхема в хабе, а БП запитывал все остальное. На место диода припаял провод со стороны USB, который управляет силовым полевым транзистором, который в свою очередь подает +12В на БП хаба. То есть когда включается USB OTG на планшете, открывается силовой транзистор и хаб включается. Таймер времени так же управляет полевым транзистором, который я врезал в разрез шины питания 1го разъема USB в хабе. Когда включается задняя передача, таймер отсчитывает около 2х секунд и подает напряжение на транзистор, тот открывается и напряжение подается на USB разъем в который воткнут EasyCap.

Читайте также: