Джойстик для андроид магнитолы своими руками
(в этой статье Вы можете встретить ту или иную знакомую Вам информацию, но я надеюсь, что для кого-нибудь она будет полезной).
Все мы с вами являемся свидетелями молниеносного роста производительности мобильных устройств, а как следствие этого, появления всё новых крутых мобильных игр, графика которых вплотную приближается к графике игр для ПК. Сфера мобильных игр постепенно отвоёвывает свою аудиторию пользователей. Но есть у мобильных устройств одна неприятная особенность – на сенсорном экране не всегда удобно играть в серьезные игры. Часть людей это отпугивает. Любители ПК игр просто не представляют игровой процесс без их любимой клавиатуры и мышки, а любители консолей – без геймпада.
Индустрия мобильных игр не стоит на месте. Вместе с ней развиваются проекты, которые делают игру максимально удобной. Одно только появление Nvidia Shield и множества других (особенно китайских) портативных игровых консолей на Android говорит о многом: играть на физическом геймпаде удобнее, чем на сенсорном экране – факт!
Но, одним из удобнейших геймпадов по праву можно считать геймпад от Sony Playstation – Sixaxis.
Начиная с самой первой Sony PS1, геймпад не сильно изменился во внешнем виде. Действительно, он удобен. И на нашу радость он отлично подключается к большинству современных Android-девайсов и позволяет играть с удобством консоли! Но мы с вами большие любители портативности. Согласитесь, неудобно ставить телефон или планшет на стол на подставку и играть на нем с геймпадом – в концепцию мобильности и портативности такое сочетание никак не вписывается. Для этого существует консоль и телевизор. Но, спасибо людям, которые воплощают в реальность, казалось бы, простые, но очень удобные вещи. Человек по имени Ryan French придумал именно такую штуковину. Имя ей Gameklip.
Вы могли слышать о ней и раньше. Цель у Gameklip’а одна – воссоединить ваш смартфон или даже 7” планшет с геймпадом от Sony. Получается, грубо говоря, своеобразная портативная игровая консоль, которую можно взять с собой куда угодно – в поездку, в университет, на работу и т.д.
Итак, от затянувшегося введения перейдем к обзору. Поговорим о подключении геймпада к устройству и о других интересных моментах, а также попробуем самостоятельно изготовить Gameklip в домашних условиях.
В комплекте к каждому Gameklip’у прилагается два кабеля: кабель Micro-USB - Mini-USB для соединения геймпада с устройством и короткий кабель USB – Mini-USB для зарядки геймпада, а также небольшая инструкция.
С Gameklip’ом для Samsung Galaxy SIII всё предельно ясно – конструкция изготовлена для удобного помещения в нее соответствующего устройства от Samsung. Немного интереснее дела обстоят с универсальным Gameklip’ом. Данный Gameklip удерживает устройство посредством мягкого резинового чехла, к которому он прикрепляется обыкновенным двухсторонним скотчем (в комплект с универсальным Gameklip’ом заботливо кладут спиртовую салфетку для обезжиривания поверхности чехла перед приклейкой). Таким образом, вам обязательно нужно докупать к универсальному Gameklip’у чехол для телефона. Желательно, чтобы он был резиновый – для удобной установки и извлечения вашего устройства. Чехлы для некоторых устройств (Nexus 7, Nexus 4, Galaxy Nexus, S3 Mini, Note, Note2, Galaxy S2, Xperia S, Xperia Arc HD, Xperia Nozomi) продаются на сайте. Чехлы для других устройств можно попытаться поискать на сайтах интернет-магазинов, например Aliexpress или попытаться найти в магазинах вашего города.
Крепеж посредством двухстороннего скотча весьма удобен – если вы захотите поменять ваш девайс, то можно просто отодрать старый скотч, купить чехол к новому устройству, купить двухсторонний скотч и приклеить снова.
В качестве геймпада подойдет как простой Sixaxis, так и Sixaxis Dualshock 3, но функция вибрации пока не реализована (и неизвестно, будет ли вообще). Для подключения геймпада посредством кабеля, Ваш девайс обязательно должен иметь функцию OTG. Прекрасно подключается Nexus 7 или, например, Galaxy SIII. А вот Nexus 4 таким способом подключить не удастся. Но не стоит переживать – эта проблема решается подключением геймпада через Bluetooth.
Вбейте в программе Ваш MAC-адрес и нажмите Update. Всё, теперь геймпад и Ваш Android будут узнавать друг друга.
Ещё один способ записывания MAC-адреса в геймпад (подходит только для устройств с функцией OTG): достаточно подсоединить геймпад к устройству кабелем и в программе Sixaxis Controller нажать кнопку "Pair Controller".
Список проверенных устройств есть в теме программы Sixaxis Controller на 4pda.
Итак, у Вас есть геймпад, вы проверили совместимость с Вашим устройством – все отлично. Как же теперь подключить геймпад и начать играть?
1) Установите Sixaxis Controller (советую приобрести в маркете – она стоит своих денег). Программа предложит зайти в настройки «Язык и ввод». Согласитесь и отметьте галочкой «Sixaxis Controller» (вылезет предупреждение – нажмите ОК).
2) Вернитесь в программу и нажмите Start. Программа затребует права суперпользователя и перейдет в режим поиска контроллеров.
Если программа пишет Connection Failed - Ваш девайс не поддерживается.
5) Важно! Зайдите в настройки Sixaxis Controller. В настройках выберите Gamepad Settings, а в них поставьте галочку Enable Gamepad. Это позволит программам-эмуляторам игровых приставок и некоторым играм знать, что вы будете играть через геймпад.
6) Приступайте к игре:)
7) После того, как закончили играть, не забывайте нажать Stop в программе (это остановит соединение между геймпадом и устройством и выключит геймпад).
Eсли вы хотите джойстик потом снова подключать к приставке, достаточно будет подключить его шнуром к PS3 и включить сначала приставку, потом геймпад, они схватятся сами.
Для игр я использую оригинальный геймпад CECHZC2 E .
С ними нет почти никаких проблем. Подключаете геймпад, открываете игру и играете. Рассмотрим на примере GTA Vice City и Shadowgun Deadzone.
Самый простой вариант. Подключаете геймпад, заходите в игру и можете видеть, что наэкранные кнопки скрыты. Игровому процессу ничего не мешает. Управление удобное. Все кнопки заранее настроены разработчиком.
Shadowgun Deadzone:
Несмотря на то, что игра имеет нативную поддержку геймпада, в ней сначала нужно настроить кнопки управления так, как Вам удобно. В текущей версии игры это можно сделать в главном меню. Раньше меню настройки кнопок открывалось только при входе в игровой режим.
С ними тоже все довольно просто. Рассмотрим на примере эмулятора Densy (Nes) – «Nesoid» и эмулятора Sega Mega Drive2 – «MD.Emu». Рекомендую именно эти эмуляторы. Возможно, в дальнейшем расскажу о впечатлениях игры на эмуляторе PS1 (пока не играл в PS1, но, как можно предположить, играть в PS1 на нашей портативной консоли даже лучше, чем на PSP – ведь в PSP всего лишь два шифта, а в геймпаде все 4 (R1, R2, L1, L2). Да и сам Sixaxis берет свое начало от того самого геймпада для PS1. Так что наша консоль в этом вопросе вне конкуренции.
Nesoid также самостоятельно определяет наличие подключено геймпада. Настройте по вкусу в настройках программы соотношение сторон, ориентацию экрана, режим масштабирования и другое. Но самое главное – не забыть поставить галочку в меню «Дополнительно» - «Использовать джойстик», а в меню «Управление» назначить каждой клавише соответствующую кнопку геймпада. Помимо этого не забудьте убрать галку «Виртуальная клавиатура» в этом же меню, чтобы скрыть наэкранные кнопки. Также я назначаю быстрое сохранение на нажатие правого стика и быструю загрузку на нажатие левого стика.
Давно хотел я такой джойстик себе, но смущала цена, однажды нашел объявление на Авито по цене 1000р, да ещё и в моем городе, при этом состояние отличное. После покупки начал думать куда его ставить, лучшего места чем в подстаканник не нашел, но оставаться совсем без них не хотелось, поэтому решил делать вставку под джойстик и 1 подстаканник. Первоначальную форму вырезал из пенопласта, после пенопласт обмазываем тонким слоем обычной шпатлёвки, для того чтоб получить скорлупу, при помощи дихлорэтана удаляем весь пенопласт из заготовки. Полученный каркас заполняем стекловолоконной шпатлевкой, надо заполнять весь объем, чтоб внутри не осталось пустот. Далее берём разные шкурки и выводим желаемую форму. Круг под стакан делал при помощи стакана из мака. Далее в заготовке делаем отверстия, туда устанавливаем направляющие для джойстика, направляющие это обычные стойки от материнской платы. Делаем так же распорки, которые войдут в пазы для штатного разделителя подстаканников. После получения нужной формы обтягиваем вставку кожзамом. Далее уже по отработанной схема кан адаптера делаем адаптер для джойстика, разница лишь в том что на джойстик кроме шины идет ещё постоянные 12в, а так же 9 пин ардуины подключен к фотодиоду для отправки ИК команд.
Джойстик просыпается с включением ардуины засыпает через 30 минут после отключения ардуины.
Все команды с джойстика передается в Serial Manager, но часть отправляется напрямую в магнитолу через ИК фотодиод. Джойстик управляет громкостью, переключением треков, громкой связью на магнитоле и запускает любые приложения на планшете, так же работает как стрелки на клавиатуре. В Serial Manager есть так же отработка сочетания клавиш Alt+Tab, назначил ее на Options. На каждую кнопку можно назначить 2 действия нажатие и удержание.
Отдельная огромная благодарность YAM1966 и lti1 за помощь в создании кода для управления джойстиком.
FakeHeader
Comments 78
Здравствуйте. Отлично получилось.
Поставил в hyundai кресла от e65. Очень хочется джойстик приспособить к управлению android ГУ (резистивное управление). Джойстик на e65 работает через ИК
Прошлая, 3-я версия тут.
- встроенный источник питания 12/5В до 1.8А с возможностью полного программного отключения при отсутствии АСС (при этом ток потребления от BAT = 0);
- имеет входы BAT для постоянного питания и ACC для управления включением-выключением;
- имеет выход для питания внешних устройств 5В (5В на нем присутствует пока включен контроллер);
- имеет управляемый выход для питания внешних устройств 5В (выдачей 5В можно управлять с помощью событий);
- 4 канала для подключения резистивных кнопок руля или внешних кнопок, джойстиков. (до 15 кнопок на канал);
- имеет 2 канала аналоговых выходов для управления штатными магнитолами имитирующими нажатие резистивных кнопок (выходное напряжение 0. 5В);
- содержит 2 выхода типа открытый коллектор с током до 500mA для управления кнопкой включения планшета, тв-бокса, либо внешним реле или выдачи ИК кода. ;
- имеет 6 цифровых входов/выходов общего применения с защитой (выходное напряжение 0. 3.3В, последовательно резистор 330 Ом). Из них 2 шины - UART (для подключения UART GPS приемника. );
- любая из 11 ножек контроллера может быть использована для генерации события по указанному уровню и необходимому таймауту;
- поддерживает 4-х проводные резистивные тачпанели. Для перехвата тачпанели у штатной системы имеет внешнюю плату мультиплексора. Она выполнена на плате 25x20мм с кабелем 20 см и всеми необходимыми разъемами для подключения в разрыв без пайки;
- поддерживает мультитач жесты на обычной резистивной тачпанели (информация);
- можно подключить 2 цифровых энкодера с программным предделителем;
- может эмулировать 2 цифровых энкодера;
- имеет 2 линии аналогового входа 0. 18В с возможностью отслеживания любых изменений и выдачи любых реакций на них;
- поддержка шины Toyota/LexusIEBUS (AVC-LAN) для эмуляции внешнего навигатора, внешнего DVD и CD чейнджера, управления штатным усилителем Toyota/Lexus без штатного головного устройства, чтения кнопок по шине, управления с родного тача головных устройств. ;
- поддерживает шину BMW iBUS;
- поддерживает управление с джойстиков iDrive от BMW по CAN (работающих на скоростях 100KBit/s или 500KBit/s);
- поддерживает джойстики iDrive с тачпадом по CAN;
- поддержка HID CDC для UART GPS приемников или других устройств;
- поддерживает протоколы внешних навигаторов для головных устройств ALPINE, KENWOOD, PIONEER;
- поддерживает подключение и управление внешними навигационными блоками GARMIN, PHANTOM, KENWOOD и т.д.;
- любая из 11 ножек контроллера может быть настроена для приема ИК посылок по протоколам NEC, JVC, RC5, SONY, SAMSUNG, APPLE как с прямой, так и с инверсной кодировкой (см. на вкладке ИК вход);
- любая из 13 ножек контроллера может быть настроена для передачи ИК посылок по протоколам NEC, JVC, RC5, SONY, SAMSUNG, APPLE как с прямой, так и с инверсным выходом (для ALPINE например) только огибающая без несущей;
- поддерживает PS2 тачпад от Synaptics;
- поддерживает работу с блоком кнопок и джойстика от HONDA ODYSSEY;
- поддерживает работу по CAN кнопок руля для Opel Astra J по ее шине GMLAN;
- поддерживает работу по CAN кнопок руля для Mercedes CLK 320 W209;
- поддерживает работу по CAN кнопок руля для VW MKV GTI;
- поддерживает работу по CAN кнопок руля для Volvo;
- поддерживает работу по CAN кнопок руля для VW GOLF7 и Citroen C5 X7 (с 2008г.);
- поддерживает работу по шине comfort CAN для AUDI RNS-E;
- в версии для CAN встроен CAN логгер;
- поддерживает шину GaNet для Acura RDX/MDX + вывод данных климата через Serial Manager и использование джойстика, видео;
- поддерживает кнопки на шине LIN для Opel Astra J и Opel Insignia, Citroen C5 X7 (с 2008г.);
- поддерживает управление через Serial Manager. Реакция Serial. Вывод номера источника или его имени через Serial;
- поддерживает управление через блютуз модуль с SPP-C профилем через Serial Manager;
- реализован ИК сниффер для добавления любого ИК пульта. Включается командой i2 в терминале;
- полная поддержка (включая энкодер сзади) под рулевого джойстика от Renault на 6 кнопок и на 9 кнопок;
- поддерживает автономную работу кнопок руля AUDI А6С7, А7, А8 4Н (AUDI А4В8, А4В9, Q7) с 2012г. по шине LIN включая подогрев;
- для подключения имеет разъем микро-USB + возможность припайки внешнего кабеля USB (питается контроллер только от BAT);
- может быть внутрисхемным программатором SPI FLASH для скалера RTD2662 (в конце шапки);
- размер платы 50x65мм
По софту включает все, что есть в 3-й версии.
Кроме того предоставляет хосту HID CDC устройство для подключения внешних модулей GPS с UART интерфейсом. Например такого или такого. Под windows он видится как обычный COM порт, для Android - ttyACMx (необходимо подключить драйвер cdc-acm.ko соответствующий версии ядра).
Увеличено количество типов поддерживаемых событий. В частности теперь с помощью события "Таймаут" можно организовать последовательную цепочку реакций на любое событие. Добавлены события для отслеживания напряжений на аналоговых входах и активации/деактивации шины USB хоста.
С помощью событий "Напряжение" и "Таймаут" элементарно делается переключение на камеру заднего вида и обратно на мониторах с кнопкой переключения источников.
Добавлены и реакции. Теперь любой ИК код можно выдавать на любые свободные ножки разъемов.
Кроме того добавлена реакция "USB нажатие" - виртуальное нажатие на тачпанель для совершения определенных автоматических действий.
Комплект состоит из собранной платы контроллера, разъемов с контактами, платы мультиплексора с кабелем и разъемом, 4-х проводный FPC шлейф длиной 20 см для подключения к штатной схеме тачпанели.
Контакты в разъемы вставляете сами по мере необходимости.
Для тех, у кого нет места для платы мультиплексора рядом со штатным тачем могу доукомплектовать 2-мя разъемами FFC(как на плате мультиплексора) и еще одним 4-х проводным FPC шлейфом длиной 20 см.
При заказе уточняйте тип шлейфа тачпанели, варианты:
- 4-х контактный шлейф с шагом 1мм (если не уточняете, то идет по умолчанию);
- 8-контактный шлейф с шагом 1мм;
- 8-контактный шлейф с шагом 0.5мм и такой-же разъем на плате мультиплексора вместо 4-х контактного с шагом 1мм.
- A = виртуального ком-порта
- I = IEBUS (AVCLAN)
- G = шины GaNet
- C = шины CAN
- M = BMW iDrive джойстика
- K = USB клавиатуры
- R = CAP2RES контроллера
- S = BMW iBus шины
- L = шины LIN
- B = блютус модуля
- J = джойстика Рено
- P = PS2 тачпада
- U = UART
- T = терминала
- A = виртуального ком-порта
- M = BMW iDrive джойстика
- K = USB клавиатуры
- R = CAP2RES контроллера
- L = шины LIN
- B = блютус модуля
- T = терминала
Переключение между GPS и Glonass описано тут.
Работа в Андроид Навителе
Как оказалось в моем свистке уже встроен cdc-acm.ko драйвер, осталось добавить в автозагрузку только
setprop ro.kernel.android.gps ttyACM0
sleep 50
chmod 666 /dev/ttyACM0
Ну и переписать либу куда указано.
Вообще все подключение описано в теме уважаемого Rage2.
iDrive на андроид свистке
Подключение контактов джойстика:
1 - питание +12В
2 - масса
3 - к контакту X4/5
4 - к контакту X4/6
Подключение для проверки на столе:
Работа проверялась на таких джойстиках:
Просмотр событий от джойстика в терминале - набрать CV1.
- подсветка джойстика зажигается и гаснет при включении-выключении ACC
- управление джойстиком вверх-вниз-влево-вправо - перемещение по меню
- нажатие джойстика - ENTER
- кнопка CD/MEDIA - MODE
- кнопка BACK - назад
- кнопка MENU - меню
- кнопка TEL - телефон
- кнопка OPTION - переключение режимов управления крутилкой (при включении - крутилка регулирует громкость), после нажатия - крутилка управляет перемещением по меню и т.д.
- вращения джойстика - управление громкостью или перемещением по меню
Сделал программатор SPI FLASH для скалера RTD2662
Прошивка и оболочка программатора YAM_RTDPROG_V4.zip
Подключение:
X6/4 - GND
X6/5 - SDA
X6/6 - SCL
Некоторое описание тут.
Универсальный пульт для автомагнитолы на руль поможет безопасно управлять ею в дороге и не отвлекаться от вождения. Есть несколько способов подключения этого полезного устройства.
Преимущества и недостатки пульта на руле
Если нет места для размещения кнопок на руле, решить эту проблему может подрулевой джойстик управления магнитолой. Он отличается таким же удобством использования, а подключение к магнитоле становится более надежным благодаря прямому соединению. В отличие от джойстика, рулевое колесо с пультом управления подсоединяется с помощью контактных колец или жгута, имеющего ограниченный срок службы из-за постоянного изгибания или трения. Это является единственным недостатком такого аксессуара.
Выбор адаптера и пульта
Пульт на руль для автомагнитолы должен быть совместим с ней и подходить по форме и размеру к штатному рулевому колесу. Существует 2 способа соединения этих устройств:
Ты водитель автомобиля?! Тогда ты сможешь пройти этот простейший тест и узнать . Перейти к тесту »
- Через специальное гнездо-миниджек для дистанционного управления. Этот способ используется на головных устройствах фирмы Pioneer и некоторых других.
- По CAN-шине. Этот способ может применяться для подключения адаптера кнопок руля для управления нештатной магнитолой.
Адаптер, который согласует команды и обеспечивает поддержку управления на руле, должен быть запрограммирован на работу с установленной автомагнитолой. Иначе некоторые кнопки могут работать неверно или не работать совсем. Для расширения функциональности мультируля следует выбирать адаптер, позволяющий программировать несколько действий на одну клавишу (посредством нажатия и удержания, а также многократного нажатия).
Инструкция
Подключение и установка рулевого пульта управления магнитолой могут осуществляться в домашних условиях. Вначале необходимо отключить аккумуляторную батарею. Затем снимается штатное рулевое колесо и головное устройство. Дальнейший порядок действий зависит от способа установки и подключения.
Как установить
Чтобы установить пульт управления магнитолой на руль, потребуется снять с него накладки и кнопку звукового сигнала. На их место устанавливаются и закрепляются универсальные кнопки с адаптером. Если для подключения используется жгут, то он закрепляется на рулевом колесе и его колонке хомутами. Подрулевой переключатель можно установить на кожухе рядом с замком зажигания и рычагом включения стеклоочистителя. Все провода прокладываются под приборной панелью, а магнитола устанавливается на свое место.
Как подключить
Если подключение пульта для магнитолы на руль осуществляется через миниджек, то следует вставить вилку в гнездо для дистанционного управления. Питание на модуль мультируля подается с голубого с белой полосой провода автомагнитолы. Чтобы подключить кнопки на руле к головному устройству по CAN-шине, следует вставить вилку в соответствующий разъем. Затем включается автомагнитола и зажигание, чтобы активировать связь двух устройств.
Также подключение может осуществляться через разъем ISO, поскольку некоторые производители предусматривают в таком коннекторе незадействованные контакты, к которым подсоединяется адаптер для автомобильной магнитолы с пультом на руль. После подключения устройства управления следует проверить его на работоспособность.
Как пользоваться
Если переключатель подрулевого управления магнитолой или мультируль настроены, то клавиши на них должны выполнять те же функции, что и на передней панели. В противном случае потребуется выполнить обучение кнопок на руле. В большинстве случаев это делается с помощью универсального пульта ДУ, входящего в комплект автомагнитолы. Для перехода в режим обучения отвечающий за эту функцию провод адаптера соединяется с массой или плюсовым полюсом. После этого должен загореться соответствующий светодиод. Если есть зуммер, то он издаст подтверждающий сигнал.
Затем следует нажать и удерживать несколько секунд кнопку управления магнитолой на руле, для которой надо назначить функцию, например увеличение громкости. Загорится индикатор режима присвоения. После этого следует нажать аналогичную клавишу на ручном пульте управления головным устройством. Светодиод, информирующий о назначении, должен погаснуть. Зуммер подаст сигнал другого тона.
Таким же образом программируются остальные кнопки на мультируле. После завершения настройки следует обесточить клемму, отвечающую за этот режим, чтобы начать пользоваться рулевым устройством управления. Стоит учитывать, что процесс подключения для работы с китайскими магнитолами может отличаться.
Очень удобная штука для тех, у кого по какой-либо причине отсутствуют кнопки управления на руле (мультируль).
Позволяет управлять головным устройством, практически не отрывая рук от баранки.
Приехал вот в такой коробочке, обтянутой почтовой пупыркой
Угол надорван и примят, но это не критично, так как внутри коробки поролоновый ложемент
В комплекте салфетка-обезжириватель и маленькие шурупы для крепления к подрулевому кожуху
По задумке производителя, крепится пульт на скотч плюс шурупы. я закрепил на мелких болтиках и гайках.
Фото внутреннего мира этого пульта
Если кому плохо видны номиналы резисторов
R1 47 Ом
R2 680 Ом
R3 1.2 кОм
R4 3.3 кОм
R5 10 кОм
Как видно, каждая кнопка (клавиша) подключает на выход то или иное сопротивление, в результате при нажатии определенной кнопки сопротивление между двумя проводами выхода меняется на своё, уникальное.
Это позволяет при подключении пульта к магнитоле дистанционно ею управлять.
Такой набор сопротивлений позволяет подключать пульт к фактически любой магнитоле на Андроиде или ВинСЕ
Как известно, магнитолы на Андроид или ВинСЕ имеют вход KEY, который понимает именно такие, резистивные пульты управления и позволяют назначить выполнение конкретной команды (и не одной) при нажатии конкретной кнопки пульта.
Однако у меня магнитола не такая умная (JVC KD-X352BT), поэтому пришлось сделать адаптер для того, чтобы команды от кнопок подавались на магнитолу в виде понятных ей цифровых команд.
Вот видео работы
Вот так выглядит установленный пульт на автомобиле
Вот так крепил
Управлению штатными подрулевыми не мешает абсолютно, а вот удовольствия от вождения добавилось многократно
Да, я знаю что современные головные устройства называть магнитолой некорректно. Однако это устоявшееся и удобное определение.Поэтому — магнитола
Читайте также: