Показать сообщение отдельно
Старый 22.11.2017, 21:14   #2
Except74
Новый Пользователь
 
Регистрация: 05.03.2017
Возраст: 38
Город: Челябинск
Регион: 74
Машина: Nissan Sunny FB15
Сообщений: 13
Except74 is on a distinguished road
По умолчанию

С пояснениями:


Было использовано большинство кнопок штатного магнитофона и крутилка, которая является поворотным энкодером. Все это нам пригодится.
На контроллер поступают сигналы:
  • 3шт от поворотного энкодера: вращение туды/сюды + нажатие;
  • Кнопки штатные магнитофона (mute, prev, backward, play, forward, next);
  • Вход датчика температуры;
  • АСС (взят со штатного разъема питания магнитофона тут же);
  • Габариты в авто (это подсветка штатных часов магнитофона тут же);
  • Питание с Odroid (сигнализирует о том, что комп запустился, с GPIO разъема);
  • Входы для переднего и заднего концевиков моторизированного дисплея.

Выходы:
  • 2 выхода на двигатель моторизированного дисплея (а точнее на драйвер двигателя);
  • Спикер (сообщает о разных состояниях системы);
  • Выход для подачи питания на odriod (через мосфет).

Алгоритм работы
Центральное питание заводится с аккумулятора через предохранитель и размыкатель типа «масса». В салоне питание через тумблер (под торпедой) идет в блок с контроллером.


Внутри блока это питание разомкнуто релюшкой. Реле запитывается сигналом «ключ в замке». Т.е. вся схема запитывается только, если вставлен ключ в замок. И наоборот, все обесточивается, если вытащить ключ. Таким образом мы можем быть уверены, что уходя из машины ничего не случится. Все автомобильное питание и сигналы через предохранители (на всякий пожарный).
Контроллер ждет сигнала ACC и пока его нет ничего не делает, а на попытки включить систему противно пищит. Как только ключ переведен в положение ACC система готова к работе. При нажатии на большую крутилку на консоли, контроллер проверяет, развернут ли монитор, если свернут, то разворачивает его. Если монитор развернут, а питание от компа отсутствует (на выходе компа – входе на ардуину), то запитывает компьютер. Компьютер должен загрузится течении 40 сек. (За это время на входе должно появиться напряжение). Если комп включился, то все ок.

Шелл
Была написана своя простенькая мультимедийная оболочка, которая интегрируется с контроллером. Основные функции: прослушивание музыки (установлена хорошая и большая карта памяти), запуск приложений и отображение дополнительной информации. Все видно на скринах.
Программа является ланчером для андроида и поэтому запускается при старте системы, а также именно в нее идет возврат из всех приложений. Ардуина по USB подключена к компьютеру и видна в системе, как COM-порт. Шелл открывает этот COM порт, при подсоединении к порту адруина шлет шеллу все данные, какие имеет на текущий момент (состояние всех кнопок, состояние подсветки, концевиков, положение ACC, температуру за бортом…). К командам кнопок прилагается время нажатия (для различия обычного/долгого нажатия).
При получении команд play, next, prev, back… соответственно идет переключение треков, с помощью поворотного энкодера идет навигация по папкам и спискам. Нажатие на экодер – выполнить действие. Включение габаритных огней приглушает яркость монитора (на деле не работает, т.к. подсветкой данного монитора я не могу управлять программно, на сотовом работает).
Ну и POWER_OFF. Эта команда прилетает, когда водитель выключает ACC (или долгое удержание нажатия крутилки). При этом шелл вызывает завершение работы системы и все выполняется наоборот. Ждем, когда пропадет питание на одроид, далее сворачиваем монитор. Готово.
По программе шелла особо рассказывать не будут. Прикладываю скрины, там все видно.




Температура
В шелле отображается уличная температура. Тут особо нечего сказать, популярный датчик Dallas DS18B20 подключается к ардуине по One-Wire. Температура отправляется в комп с интервалом 20 сек. Единственное, про что можно сказать, так это про неудачное расположение датчика, я его поставил в левое крыло. В итоге, при нагреве подкапотного пространства от двигателя, датчик говорит, что на улице тепло, даже если минус за окном. Надо переносить в другое место (куда там его ставят обычно?).



GPS
От прошлого проекта pccar остался GPS-приемник GlobalSat BU-353. Установлен на задней полке. После танцев с бубном (долгих) его все-таки удалось подружить с андроидом. История известная с ним. Работает норм, но когда машина не двигается, карта иногда начинает вертеться вокруг положения, что-то с определением направления движения при нулевой скорости.


Звук
В машине установлена акустика, это усилитель DLS CA-450, динамики Hertz HSK-165 фронт, головное устройство Pioneer DEH P88RS (+аудиоподготовка дверей и акустические провода).
Решил заводить звук на AUX вход магнитолы. Испробовал 3 USB звуковые карты:

1. ZHILAI H1 Мини
Была куплена на «попробовать». В итоге работала, но с постоянными помехами и щелчками, к тому же очень сильно басила, при всех отключенных эффектах и ровном эквалайзере шла бубнежка. В итоге звуковуха ушла на работу в пару к наушникам, в винде она работает хорошо.

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

3. Sabaj D2

Информации про нее почти нет, но там есть оптический вход. Читая статьи про то, как народ мучается под андроидом с USB звуковухами, случайно наткнулся на статью про то, как ЭЛЕМЕНТАРНО вывести с разъема GPIO оптический S/PDIF. Выпросил такой разъем в магазине по ремонту электроники (выпаяли с чего-то) и подсоединил к одроиду. И заработало отлично. Заменил с небольшой доплатой предыдущую звуковуху на Sabaj D2. У нее все как мне нужно, вход оптика, выход тюльпаны, питание по USB. Запела отлично, и что главное ОПТИКА! ни помех, ни посторонних шумов. Звук чистый.



Установка
По установке сказать особо нечего. Почти все встало на штатные места. Комп встал в бардачок, крепится так: ко дну бардачка приклеил металлическую полосу, а к корпусу компа неодимовый магнит плоский. Получилось очень удобно, комп крепко держится и нетрудно его снять при случае и унести домой, если надо.


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



Так же от прошлого неудачного pccarа остался тачскирин, вырезанный из ноутбука. Он вставлен в маленький бардачок справа от водителя, подключен к компу через USB-PS2 переходник. Особо не используется, но есть и работает.


Планы
В планах починить все баги шелла (потихоньку исправляю).
Подвести интернет через USB модем. Тем более добавил в шелл онлайн-радио. Пока приходится использовать смарт, как точку доступа. Радио работает норм, онлайн навигация тоже. Очень удобно носить файлы из/на устройство через dropbox. Кладу дома обновление программы в папку синхронизации, а когда добираюсь до машины обновление уже там. Установил – готово.
Имеется девайс для диагностики: K-line адаптер. Попробовал подключить его к компу, определился, как COM-порт. Летом попробую запустить, найти софт для него под андроид.

Видео



Вот такие дела. Спасибо за внимание.
Except74 вне форума   Ответить с цитированием