Как сделать руль для планшета

Обновлено: 03.07.2024

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

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

Видео версия статьи управление резистивными кнопками при помощи arduino

Для начала нам необходимо приобрести плату 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, включите на компьютере плеер с музыкой и попробуйте нажать кнопку 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.

Любой человек, любящий играть в игры на персональном компьютере, наверняка имеет в своем арсенале рулевое колесо или же стандартный джойстик. А есть такие любители, поиграть, которые используют для игр WiiMote.

Но мы расскажем вам о способе, который еще надежнее и практичнее, к тому же он недавно появился. Ваш телефон также можно использовать в роли руля, джойстика, а с помощью гироскопа, можно даже использовать FPS навигацию/режим стрельбы.

С помощью Monect вы сможете на определенной дистанции управлять вашим ПК и даже играть в игры, применяя при этом устройство, работающее на ОС Android. Осуществить это можно с помощью Bluetooth или же Wi-Fi, которые имеются на любом таком устройстве. Monect позволяет использовать ваше устройство Android в качестве рулевого колеса, джойстика, работающих на акселерометре. А также сможете прицеливаться в различных 3D FPS шутерах, если в вашем девайсе есть гироскоп.

Ваш android девайс превратится, при помощи Monect, в мышь/клавиатуру/джойстик. Устройство, работающее на Android, естественно может использоваться в качестве беспроводной клавиатуры или мыши, как и множество иных идентичных приложений. Особенностью данного приложения выступает то, что оно имеет возможность использоваться в роли контроллера для разнообразных жанров игр: FPS, гонки, RPG и так далее. Monect использует абсолютно все датчики устройства работающего на ОС Android: гироскоп, акселерометр, G-сенсор и так далее, для обеспечения полноценной возможности играть, без лагов и задержек. К примеру, с помощью гироскопа можно осуществить режим FPS. А для того чтобы прицелиться или поиграть полноценно в гонки - G-сенсор.

Функции приложения Monect для android:

RaceMode — наслаждайтесь играми в гонки на ПК, такими как NFS, а также управляйте рулевым колесом, с помощью девайса, имеющего G-сенсор.

Джойстик — играйте в разнообразные приключенческие игры: Prince of persia, Street fighter и другие, благодаря полноценной имитации джойстика.

FPS mode — используйте гироскоп своего устройства для прицеливания, чувствуя при этом оружие в руках. Стоит отметить, что отлично поддерживается в Call of Duty!

TouchPad — это своеобразный симулятор сенсорной панели, который поддерживает различные жесты, прямо как на устройстве трекпад от Apple.

My Computer — просматривайте и используйте файлы, находящиеся на вашем ПК, прямо на своем девайсе.

Keyboards — а это симулятор цифровой и буквенной клавиатуры, а также функциональных клавиш.

Text transfer — вы сможете набрать текст, прямо на смартфоне, а после этого, при помощи одного нажатия, передать его на свой ПК.

PPT mode — с помощью этого режима, вы сможете присутствовать на совещании или на важной лекции.

Browser, Media Control — вы сможете легко управлять браузером, а также медиа-плеером.

image

Сейчас многие владельцы автотранспорта сталкиваются с проблемой убогости штатных и космической дороговизны хороших магнитол с современными функциями. Вот и я купив машину 2010 года не смог ужиться с CD проигрывателем и поспешил поставить вместо него таблетку — Планшет. В статье описаны аспекты не освещённые в остальных источниках информации. В частности не как физически врезать планшет в машину, а как всё настроить так чтобы было приятно и удобно пользоваться.

Начнём из далека.

image

Проблема отсутствия современной магнитолы меня волновала уже давно и в прошлой машине мне пришлось купить 2din китайский чудо ящик частично под управление WinCE. Не буду в красках описывать сколько часов или наверно недель я потратил на то чтобы до настроить всё до белее менее рабочего состояния и в итоге из полезных функций: блютус работал жутко криво изначально, так что пользоваться можно было только стриммингом музыки (и то без управления), в DVD застрял диск, WinCe с GPS iGO стал грузиться один раз из 10. Самой надёжной оказалась камера заднего вида. И это за 300 с копейками долларов 6 лет назад. И я уже давно начал подумывать об андроиде, но цены на единственный «приличный» Android 2.3 Астероид заоблачные 700+$ а достойных вариантов от монстров мангитольного рынка тоже нет. Тупик в общем-то какой-то.
И тут я купил относительно свежую машину 2010 г выпуска от японского лидера в неплохой комплектации и получил убогий CD/MP3 плеер раскоряченный так что без специальных некрасивых заглушек ничего другого 1-2din туда просто не воткнуть. На мою удачу в часть её предпродажной подготовки вошла кривая сборка передней панели (непонятно зачем) так что диск воткнуть было невозможно. К сожалению, купленному коню в зубы я посмотрел слишком поздно И это явилось последней каплей. Я заказал на ибее бу 7" Samsung Galaxy tab. Долго помучавшись с ним из-за того что не работал вай-фай, я в пылу злости заказал Nexus 7 1 gen 16gb. В тот момент я даже себе представить не мог что у него нет microSD слота и без OTG мне придётся довольствоваться только встроенными 16 гигами. Такой подставы от гугла с Асусом я даже не мог ожидать. Но в общем вторая таблетка оказалась гораздо бодрее первой и я ничуть не жалею. В итоге оказалось что эта модель является культовой у менятелей магнитол на таблетки по всему миру. Думаю в первую очередь из-за распространённости качества и цены. Ещё удобные контакты на корпусе для питания и звука POGO PINS Так вот я начал читать как же всё сделать под машину и к огромному своему удивлению нашёл кучу информации о том как вкрячить таблетку, а как жить с этим дальше почти ноль. И так я начал собирать по крупицам наводки и наступать на грабли. В итоге получилось очень даже удобная система которую вы можете видеть на видео.
Начнём всё же с подключения.


Программу навигации каждый выбирает на свой вкус. Мне Нравится Garmin Navigon, тем более что я использую Garmin HUD.

Допустим вы выбрали свою программу и поставили её. Дальше встают следующие проблемы:
— как же переключаться между экранами музыки и навигации в одно касание?
— как использовать полную площадь экрана и при этом не потерять кнопки управления?
— Как управлять музыкой (Пауза, Сл песня и тд..) не выходя из навигационного приложения?

Дальше я боролся за батарейку. Оказалось если не полностью усыпить андроид то даже без вай-фая и GPS за ночь или сутки он может сожрать несколько десятков процентов заряда. Что не приемлемо. Для уверенности полного засыпания я поставил Deep Sleep Battery Saver который прибивал в спящем состоянии все активности кроме редкого исключения.

Теперь встала проблема адекватного изменения яркости экрана при разном освещении. В стоковой прошивке это кастомизировать нельзя поэтому я поставил Lux+ и настроив его под разное освещение добился хорошей видимости экрана в любой ситуации.

Теперь самое вкусное это Tasker!

Без этого Мега приложения вообще ничего сделать бы не удалось. Это своеобразный автоматизатор для Android с возможность ловить внешние события и выполнять визуально программируемые действия. Он супер гибкий, супер удобный и вездесущий. К нему уже написано куча плагинов и толи ещё будет. Я рекомендую поставить сразу его и Secure Settings Pro и в нём Secure Settings Helper.



Давайте подробнее посмотрим на все Profiles (триггеры) И Tasks:

Tasks:
DC ON — Устанавливает переменную %DCPOWER в 1, вызывает/будит автоматический регулировщик яркости Lux Plug-in и
запускает таск «On».
DC OFF — Устанавливает переменную %DCPOWER в 0, и запускает таск «Off».
On — возобновляет проигрывание если оно было прервано кратковременным исчезновением питания. Включает GPS, WiFi, Bluetooth. Устанавливает громкость. Приветствует голосам и говорит Время. Запускает Программу навигации и Музыки (на всякий случай если они были прибиты во сне). Если при предыдущем выключении проигрывалась музыка то произносится название Композиции и исполнителя и возобновляется проигрывание. Снова вызывает/будит автоматический регулировщик яркости Lux Plug-in.
Off — Останавливает проигрывание музыки. Выключает GPS, WiFi, Bluetooth. Прибивает программу навигации. Засыпает.
Resume Music — Произносится название Композиции и исполнителя правильным языком TTS и возобновляется проигрывание плавно увеличивая громкость до нужного уровня.
Fill Track — Получает от Media Utilities название исполнителя и композиции и запоминает их предварительно определив язык текста чтобы использовать правильный TTS при чтении. Также отдельно запоминает название предыдущего исполнителя чтобы не повторяться при произнесении. Произносит Название исполнителя(если не совпадает с предыдущей композицией) и композиции.
Say Time — Заполняет правильно системное время
Now Playing — Устанавливает переменную %MPLAYING в 1. Значит Музыка играет.
Now Not Playing — Устанавливает переменную %MPLAYING в 0. Значит Музыка не играет.
Boot Startup — пока пустует
Speed Volume Control Plus — Крутится в вечном цикле и занимается изменением громкости в соответствии со скоростью. Эта функция есть во многих машинах, но не всегда доступна, поэтому я написал task который делает это в андроиде. Есть пять уровней громкости и 5 диапазонов скорости которые надо задать в соответствии с вашей ситуацией в Init Vars.
Init Vars — начальная инициализация некоторых констант и переменных
Shutdown — Выполняет такс Off выключая всё

Оба пока проводные, но блютус не за горами.
У меня оказались аналоговые кнопки.
Я сделал себе аналог JoyCon Arduino mini Pro + Bluefruit EZ-Key Получилось без проводов к табетке. Bluefruit эмулирует HID клавиатуру и посылает стандартные команды акдроиду. Управление музыкой просто вот остальное пришлось делать через эмуляцию надатия Search + Буква и потом Quicklinks Shortcuts в Task и к Tasker. Но всё работает как видно на видео. Есть и клик и долгий клик. Во второй части опишу подробно.

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