PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Проекты (http://pccar.ru/forumdisplay.php?f=21)
-   -   Nexus 7 in Ford Focus II (http://pccar.ru/showthread.php?t=20084)

Andrey_61 02.12.2013 17:11

Nexus 7 in Ford Focus II
 
Я наконец то сделал это, почти)

Итак по порядку.
Задачи:
- Сделать проект максимально похожим на промышленное изделие
- Максимальная автоматизация
- Максимально удобное управление, чем меньше надо тыкать пальцами в тач тем лучше, меньше отвлекает от дороги.


P.S. Камеру ЗХ решил не ставить т.к штатный парктроник устраивает на 100%

Материалы:
- Nexus 7 32Gb 3G
- Блок питания DFRobot DFR0205 (без гальванической развязки, посторонних шумов нет)
- Arduino Leonardo
- FM радио TERRATEC
- Антенный усилитель Триада - 304
- пульт ДУ sony rm-x151
- USB HUB
- 8-позиционный джойстик с энкодером RKJXT1E12001

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

Вырезаем, шпаклюем, шкурим
http://s43.radikal.ru/i099/1312/0e/59900e29d313t.jpg

Примеряем
http://s019.radikal.ru/i627/1312/4d/f1701a876012t.jpg

Красим
http://i016.radikal.ru/1312/fb/c13165aadf16t.jpg

Компануем элементы
http://i017.radikal.ru/1312/40/b34c21e41c8dt.jpg

Еще раз примеряем, уже по месту
http://i069.radikal.ru/1312/6a/8d126c61b2abt.jpg

Собираем
http://i069.radikal.ru/1312/af/bb50585784d5t.jpg

Устанавливаем)))
http://i023.radikal.ru/1312/74/b1c1505eb365t.jpg

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

За основу был взят и доработан проект ardumultimedia отдельное спасибо его автору, помог разобраться с некоторыми важными моментами.

Отключение дисплея позаимствовал из этого проекта

Планшет постоянно включен (для длительных простоев установлю скрытый механический выключатель), для быстрого старта(вышел заправиться, в магазин и т.д.) 15 минут после выключения зажигания USB HUB остается запитаным, соответственно при включении зажигания все стартует мгновенно, при более длительных простоях надо подождать 1-2 секунды пока определится usb - периферия, сигналом что все готово как правило служит уведомление о выборе раскладки клавиатуры.

Итак более подробно о алгоритме работы.

Питание - при включении зажигания планшет включается автоматически, при выключении с задержкой в 3 секунды выключается,(на подготовку к выключению указывает плавно затухающий индикатор питания) если в это время нажать кнопку энкодера или кнопку OFF на ик пульте, или опять включить зажигание то планшет останется включенным.
так же можно выключить длинным нажатие на энкодер или с ик-пульта, включить соответственно тоже.

При отключении питания реле разрывает 4,5 провод (OTG) на usb разъеме, т.е имитируется передергивание разъема что сводит к минимуму возможность зависания usb, даже если в какой то момент usb повиснет,то при следующем старте все будет работать.

Медиаклавиатура - возможности
ИК - пульт

http://111az.ru/upload/h158rmx151-f-view.jpg

кнопка______короткое нажатие____ удержание
OFF___________ВКЛ/ВЫКЛ______________X
ATT_____________MUTE________________X
SRC____________ALT+TAB______________X
SEL_____________ENTER________________X
MODE___________MENU_________________X
LEFT__________________________PREV_TREK
UP_________________________________?
RIGHT_________________________NEXT_TREK
DOWN____________ __________________?
DSPL____________HOME________________X
SCRL__________PLAY/PAUSE_____________X
1_________________X__________________X
2_________________X__________________X
3_________________X__________________X
4_________________X__________________X
5_________________X__________________X
6_________________X__________________X
VOL+_____________VOL+_______________VOL+
VOL-_____________VOL-________________VOL-

Нужны идеи что повесить на длинное удержание вверх/вниз, на цифровые кнопки планирую повесить быстрый запуск приложений

Энкодер

________________________лево___|__право__|верх|_низ
короткое нажатие_____________________________
длинное нажатие______PrewTrtack__NextTrack__Esk__Menu

_____________________
вращение влево__|__вращение вправо
кн. энкодера отжата________vol+________________vol-
кн. энкодера нажата________HOME_____________Alt+Tab


Радио
с радио пока есть определенные проблемы
1. воткнуть его прямо в разъем как на фото оказалось плохой идеей, после пары поездок по нашим замечательным дорогом скорее всего из - за вибрации радио перестало работать, хотя дома на столе работало как часы по несколько дней и несколько десятков циклов вкл/выкл
2. Качество приема даже с усилителем скажем так не фонтан, чисто ловит всего 4-5 станций
3. Высокочастотный писк - думаю со временем автор допилит ПО.

Что планируется доделать.
1. Вмонтировать энкодер на место прикуривателя, но для этого надо снимать центральный тунель, пока на это нет времени.
2. Докупить и установить родной подрулевой переключатель с резистивными кнопками.
3. Выкинуть макетку и развести нормальную плату, но это после окончательных тестов.
4. При включении заднего хода приглушать звук, а то иногда не слышно парктроник, но это уже когда буду плату разводить.


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

///////////////////////////////////////////////////

08.01.2014
Наконец то дошли руки до энкодера.

///////////////////////////////////////////////////

Изначально хотел использовать джойстик с энкодером, о чем и писал выше, но перед самой установкой попался мне в руки обычный энкодер с кнопкой, сравнив тактильные ощущения было решено отказаться от некоторой (возможно избыточной) функциональности в пользу эстетики.
Итак по порядку, местом для установки энкодера было выбрано штатное место прикуривателя в Фокусе, мне он без надобности + в подлокотнике есть розетка на12 В.

1. Снимаем все это с машины и разбираем на запчасти
http://i062.radikal.ru/1401/c6/5001da6c6651t.jpg

2. Аккуратно высверливаем заклепку
http://s017.radikal.ru/i423/1401/bc/172e835a084dt.jpg

и разбираем прикуриватель на отдельные составляющие
http://i017.radikal.ru/1401/08/8b6fdd692f02t.jpg

оставляем только нужные
http://s017.radikal.ru/i440/1401/3e/d577be97cc85t.jpg

3. т.к сама шляпка прикуривателя состоит из двух частей, то хотелось чтобы все это красиво светилось, для этого наглым образом отбираем у ребенка соску, а вернее колпачек от нее, вставляем до упора
http://s003.radikal.ru/i204/1401/10/ddf76c9fc986t.jpg

4. Лишнее аккуратно подрезаем ножом
http://s43.radikal.ru/i099/1401/df/1c9d517b5797t.jpg

5. В итоге получаем три части которые соединяем с помощью холодной сварки
http://i016.radikal.ru/1401/ad/9fcf900bd746t.jpg

6. Осталось приклеить снизу подходящую к энкодеру ручку(у меня на это ушло три приклеенных одна на другую), вставляем светодиоды, и можно ставить в машину
http://s016.radikal.ru/i334/1401/82/cd153746ea7ft.jpg

7. Вот так смотрится на вместе, извините за грязную машину
http://i020.radikal.ru/1401/df/3f4a1e5e270at.jpg


//КОНТРОЛЛЕР НА АРДУИНЕ 14.01.14
Дошли руки дорисовать схему контроллера(алгоритм работы описан выше) и привести в порядок код скетча.
на столе все работает прекрасно, в машине еще иногда выскакивают мелкие баги которые постепенно устраняются, если кто решится повторить то с радостью помогу
Схема со временем будет немного изменятся, т.к. проект переехал с Arduino Nano, там была нехватка цифровых выходов и под джойстик пришлось задействовать аналоговые, которых теперь не хватает для резестивных кнопок, в принципе это вообще не проблема, просто переназначить входы, сделаю это когда допишу кусок для резестивных кнопок и начну разводить плату.

!!!Важно, для работы требуется модифицированный HID.cpp (есть в архиве, или можно взять здесь https://github.com/aduitsis/ardumultimedia)
так же потребуется несколько библиотек которые тоже есть в архиве

В скетче полностью избавился от богомерзкого delay(); вместо него использовал библиотеку Timer.h что в свою очередь привело к усложнению кода, но зато положительно сказалось на стабильности работы.

Схема (обновил схему 15.01.14, нашел небольшую ошибку)
http://i023.radikal.ru/1401/be/be3a3fec154et.jpg

Архив со скетчем и всеми необходимыми файлами можно скачать здесь

timtman 02.12.2013 17:29

Андрей, поздравляю!
Вопросы:
1. Куда звук выводишь? В смысле - между планшетом и колонками что?
2. Как GPS, Bluetooth? Показалось что планшет без задней крышки (а на ней антенны).

SuperLSD 02.12.2013 17:31

Поздравляю... молодец!!

Andrey_61 02.12.2013 17:42

Цитата:

Сообщение от timtman (Сообщение 279324)
Андрей, поздравляю!
Вопросы:
1. Куда звук выводишь? В смысле - между планшетом и колонками что?
2. Как GPS, Bluetooth? Показалось что планшет без задней крышки (а на ней антенны).

Звук беру с 3.5 и подаю на усилок, помоему EOS, он ставился давно поэтому уже модель не припомню

Bluetooth и 3G антенна разведены на плате, вместо wifi и gps просто припаял кусочки проводов, с wifi нет проблем, а вот с gps еще настраиваю, теоретически для gps длинна антены должна быть 46,7мм при таких частотах значение имеет каждый мм, чтоб не парится отрезал кусок провода 5 см и периодически откусываю от него по полмиллиметра, в качестве контрольного прибора sgs3, сейчас нексус ловит 7-8 спутников sgs3 12-13, до выходных думаю закончу с настройкой, хотя и так проблем с навигацией нет.



Цитата:

Сообщение от SuperLSD (Сообщение 279326)
Поздравляю... молодец!!

Спасибо

mcf1 02.12.2013 20:59

замечательно))

nikolna 02.12.2013 21:32

присоединяюсь, отлично получилось!

snowin 03.12.2013 01:53

Шикарно! Как радио? Это же просто SDR я правильно понял?

Andrey_61 03.12.2013 02:30

Цитата:

Сообщение от snowin (Сообщение 279401)
Шикарно! Как радио? Это же просто SDR я правильно понял?

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

kristal0211 03.12.2013 08:46

По поводу удержания кнопок вверх вниз. Можно прикрутить переключение папок в плеере. Т.е. вверх следующая папка, вниз предыдущая.
А так сделано классно. Пленку ещё матовую на экран, а то бликов уйма.

anton2204 03.12.2013 10:01

Цитата:

Сообщение от kristal0211 (Сообщение 279411)
По поводу удержания кнопок вверх вниз. Можно прикрутить переключение папок в плеере. Т.е. вверх следующая папка, вниз предыдущая.
А так сделано классно. Пленку ещё матовую на экран, а то бликов уйма.

Извините за флуд в теме, но вот подскажите раз советуете: КАКОЙ командой переключение это(по папкам) сделать то? Это уже не медиакнопки(PREV_TREK, NEXT_TREK, PLAY/PAUSE) и стандартных кодов команд НЕТ!

Lechiffre 03.12.2013 15:44

а gps нормально ловит?

Andrey_61 03.12.2013 15:59

Цитата:

Сообщение от Lechiffre (Сообщение 279474)
а gps нормально ловит?

Хуже чем лежащий рядом SGS3? но видно это только на GPS Test, при работе навигации никаких сбоев нет, все работает ровно.

superpuper58 03.12.2013 16:01

Andrey_61
Привет,где приобретал 8 позиционный джойстик,я бы тоже приобрёл,и сколько денег стоит.Это он http://tda2000.ru/catalog/zapchast_audio_encoder/72886/

Andrey_61 03.12.2013 16:44

Цитата:

Сообщение от superpuper58 (Сообщение 279477)
Andrey_61
Привет,где приобретал 8 позиционный джойстик,я бы тоже приобрёл,и сколько денег стоит.Это он http://tda2000.ru/catalog/zapchast_audio_encoder/72886/

Да, это он, где покупал не помню, что яндекс первое выдал, там и купил, но стоил он тогда подороже.

superpuper58 03.12.2013 17:13

Andrey_61
А конкретно куда приспособил как работает,покажи фото куда поставил,есть какие нибудь особенности,и что значит в описании 30 положений

Andrey_61 03.12.2013 17:40

Цитата:

Сообщение от superpuper58 (Сообщение 279485)
Andrey_61
А конкретно куда приспособил как работает,покажи фото куда поставил,есть какие нибудь особенности,и что значит в описании 30 положений

30 положений - значит 30 импульсов за полный оборот.

В машину энкодер еще не ставил, много надо разбирать.
Ставить буду на центральный туннель, вместо прикуривателя, как раз в этом месте оказывается кисть, когда рука лежит на подлокотнике, удобнее места не найти.

Если в выходные будет время поставлю и сфоткаю.

Andrey_61 09.01.2014 00:02

Вставил энкодер вместо прикуривателя

http://i020.radikal.ru/1401/df/3f4a1e5e270at.jpg

процесс изготовления добавил в первый пост.

filinmd 09.01.2014 01:40

Цитата:

Сообщение от Andrey_61 (Сообщение 282675)
Вставил энкодер вместо прикуривателя

http://i020.radikal.ru/1401/df/3f4a1e5e270at.jpg

процесс изготовления добавил в первый пост.

Шикарно получилось! Я уже даже задумался о замене подлокотника от ресталинга)))

Twod 13.01.2014 16:27

Цитата:

Сообщение от Andrey_61 (Сообщение 282675)
За основу был взят и доработан проект ardumultimedia отдельное спасибо его автору, помог разобраться с некоторыми важными моментами.т.

Можете поподробней про Arduino рассказать. Как было реализовано, можно даже с фото ;)
Какой из этих подойдет ?: http://www.aliexpress.com/item/2Pcs-...710618765.html
или http://www.aliexpress.com/item/Dream...699490401.html

lti1 13.01.2014 20:28

Цитата:

Сообщение от Twod (Сообщение 283217)
Можете поподробней про Arduino рассказать. Как было реализовано, можно даже с фото ;)
Какой из этих подойдет ?: http://www.aliexpress.com/item/2Pcs-...710618765.html
или http://www.aliexpress.com/item/Dream...699490401.html

Arduino Leonardo или Pro Micro.

Andrey_61 13.01.2014 21:31

Цитата:

Сообщение от Twod (Сообщение 283217)
Можете поподробней про Arduino рассказать. Как было реализовано, можно даже с фото ;)
Какой из этих подойдет ?: http://www.aliexpress.com/item/2Pcs-...710618765.html
или http://www.aliexpress.com/item/Dream...699490401.html

Я использовал Arduino Leonardo, т.к. ее проще всего научить прикидываться HID девайсом.
Ни как не доходят руки нарисовать схему, постараюсь на выходных найти на это время и выложу в первом посте вместе со скетчем и необходимыми библиотеками.

Kamik 13.01.2014 23:50

Я себе такой же джойстик еще летом купил, вставил в переключатель регулировки зеркал от A6. но до написания софта и встраивания никак руки не дойдут :(. Если возможно кидай исходники в топик. :derisive:

Andrey_61 14.01.2014 23:03

Цитата:

Сообщение от Kamik (Сообщение 283291)
Я себе такой же джойстик еще летом купил, вставил в переключатель регулировки зеркал от A6. но до написания софта и встраивания никак руки не дойдут :(. Если возможно кидай исходники в топик. :derisive:

В первый пост, в конец добавил схему и ссылку на архив со скетчем.

kristal0211 15.01.2014 08:52

Цитата:

Сообщение от Andrey_61 (Сообщение 283423)
В первый пост, в конец добавил схему и ссылку на архив со скетчем.

Так у вас что через arduino реализовано и управление питанием?
Просто я для Nexus 7 ищу хорошую схему на микроконтроллере. Мне нужен умный БП.

Andrey_61 15.01.2014 11:54

Цитата:

Сообщение от kristal0211 (Сообщение 283457)
Так у вас что через arduino реализовано и управление питанием?
Просто я для Nexus 7 ищу хорошую схему на микроконтроллере. Мне нужен умный БП.

Да, в первом посте описан алгоритм

Цитата:

Питание - при включении зажигания планшет включается автоматически, при выключении с задержкой в 3 секунды выключается,(на подготовку к выключению указывает плавно затухающий индикатор питания) если в это время нажать кнопку энкодера или кнопку OFF на ик пульте, или опять включить зажигание то планшет останется включенным.
так же можно выключить длинным нажатие на энкодер или с ик-пульта, включить соответственно тоже.

При отключении питания реле разрывает 4,5 провод (OTG) на usb разъеме, т.е имитируется передергивание разъема что сводит к минимуму возможность зависания usb, даже если в какой то момент usb повиснет,то при следующем старте все будет работать.

Ralf 15.01.2014 17:48

Andrey_61, как у вас arduino запитана?

Цитата:

Сообщение от Andrey_61 (Сообщение 283263)
Я использовал Arduino Leonardo, т.к. ее проще всего научить прикидываться HID девайсом.

А почему не использовали Arduino Micro? Её вроде учить прикидываться HID девайсом не нужно, она и так определяется.

Andrey_61 15.01.2014 18:14

Цитата:

Сообщение от Ralf (Сообщение 283492)
Andrey_61, как у вас arduino запитана?

В смысле как запитана? +5в с Mean Well NSD10-12S5, оттуда же, откуда и питание планшета.

Цитата:

Сообщение от Ralf (Сообщение 283492)
Andrey_61
А почему не использовали Arduino Micro? Её вроде учить прикидываться HID девайсом не нужно, она и так определяется.

Не совсем правильно выразился, HID девайсом и та и та плата при желании определяется одинаково, они обе на ATmega32u4.
Просто на тот момент была Leonardo на ней и сделал.

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

Ralf 15.01.2014 20:17

Цитата:

Сообщение от Andrey_61 (Сообщение 283496)
В смысле как запитана? +5в с Mean Well NSD10-12S5, оттуда же, откуда и питание планшета.

На схеме просто не увидел. А 5в не мало? В описании к плате написано, что входное напряжение 7-20в.

Цитата:

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

Andrey_61 15.01.2014 22:17

Цитата:

Сообщение от Ralf (Сообщение 283506)
На схеме просто не увидел. А 5в не мало? В описании к плате написано, что входное напряжение 7-20в.

Я просто подумал что эта часть схемы будет мало кому интересна.

при 5 в работает отлично.

kristal0211 16.01.2014 09:22

Цитата:

Сообщение от Ralf (Сообщение 283506)
На схеме просто не увидел. А 5в не мало? В описании к плате написано, что входное напряжение 7-20в.

7 и выше нужно если использовать потом питание из самой ардуины. А так для неё самой 5 норма.

kristal0211 16.01.2014 15:59

Andrey_61 Так у вас все питается от бп из первого поста или все же Mean Well NSD10-12S5?

Andrey_61 16.01.2014 16:54

Бп из первого поста заменил на Mean Well, он немного поработал нормально, а потом начал генератор свистеть в колонках

Andrey_61 21.01.2014 23:36

Сегодня установил FM-радио и доп аккумулятор, а то после снижения температуры при заводе авто начал проседать аккум.

igorph72 06.02.2014 20:34

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

Twod 13.02.2014 12:56

Прислали такую Arduino Pro Micro с Али: http://www.aliexpress.com/item/Free-...348800135.html
Определяется как Arduino Leonardo. Andrey_61 подскажите Ваш скетч как то надо переделывать под эту версию Arduino? Выходы в них отличаются от полноценного Leonardo?
https://lh5.googleusercontent.com/24...9R6up2nsNuJNpM

Andrey_61 18.02.2014 16:29

Цитата:

Сообщение от Twod (Сообщение 287102)
Прислали такую Arduino Pro Micro с Али: http://www.aliexpress.com/item/Free-...348800135.html
Определяется как Arduino Leonardo. Andrey_61 подскажите Ваш скетч как то надо переделывать под эту версию Arduino? Выходы в них отличаются от полноценного Leonardo?
https://lh5.googleusercontent.com/24...9R6up2nsNuJNpM

Возможно придется переназначить входы/выходы

Sangreal 19.02.2014 20:31

Привет, отлично получилось, особенно энкодер порадовал!
Цитата:

Сообщение от Andrey_61 (Сообщение 279316)
Изначально хотел использовать джойстик с энкодером, о чем и писал выше, но перед самой установкой попался мне в руки обычный энкодер с кнопкой, сравнив тактильные ощущения было решено отказаться от некоторой (возможно избыточной) функциональности в пользу эстетики.

Я так понимаю, в итоге у тебя просто крутилка с кнопкой, джойстика нет? Можешь рассказать подробнее, какие именно компоненты использовал и как все это работает. Я бы не прочь заиметь подобный энкодер+джой себе в проект :)
Никогда не работал с подобным, но результат и функционал очень нравится! Может встретимся, покажешь как все работает, и растолкуешь как мне сделать такой же?

Andrey_61 21.02.2014 20:24

Цитата:

Сообщение от Sangreal (Сообщение 287991)
Привет, отлично получилось, особенно энкодер порадовал!

Я так понимаю, в итоге у тебя просто крутилка с кнопкой, джойстика нет? Можешь рассказать подробнее, какие именно компоненты использовал и как все это работает. Я бы не прочь заиметь подобный энкодер+джой себе в проект :)
Никогда не работал с подобным, но результат и функционал очень нравится! Может встретимся, покажешь как все работает, и растолкуешь как мне сделать такой же?

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

lisyxd 16.03.2014 00:07

А что за стандартная заглушка?Где взять?
Все никак не решу как сделать под нексус рамку...

Andrey_61 19.03.2014 01:38

Цитата:

Сообщение от lisyxd (Сообщение 290667)
А что за стандартная заглушка?Где взять?
Все никак не решу как сделать под нексус рамку...

Заглушка идет в комплекте с машиной без музыки, думаю у официалов можно купить.


Часовой пояс GMT +4, время: 15:15.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot