Планшет вместо приборной панели
[видео]
Вот такой тюнинг приборной панели. Состоит целиком из экрана (дисплея), как на современных иномарках, например, audi. Как такое удалось реализовать? Автор не отвечает.
2 Ответ от iliaBkmz 2016-01-19 08:39:00
Ого! Если это самодел - то кто-то нереально заморочился.
А кто автор?
7 Ответ от iliaBkmz 2016-01-19 14:07:26
В общем, узнал - это покупная универсальная панель VENATOR (скрины совпадают с тем, что на видео)
Панель эта представляет собой программно-аппаратную систему, позволяющую дублировать показания штатной приборной панели автомобиля, и выводить их в графическом виде, на дисплее CAR PC под управлением Windows (на отдельном, или в составе фронтенда на основном) или на разного рода ANDROID устройствах.. Блок сбора данных не использует протоколы СAN, K-line, OBD и подобные, чем принципиально отличается от аналогичных решений. Все штатные датчики подключаются непосредственно к блоку. Блок опрашивает датчики с периодом 50 мс, и передает данные в цифровом виде в программу визуализации. Независимый опрос датчиков позволяет значительно повысить частоту опроса, а также использовать систему на автомобилях не имеющих ЭБУ (карбюраторные, дизельные, электро).
Система состоит из Блока сбора и обработки данных Venator PSU, программы Venator и устройства отображения (компьютер на Windows или Android устройство)
Универсальная панель приборов VENATOR представляет собой программно-аппаратную систему, позволяющую дублировать показания штатной приборной панели автомобиля, и выводить их в графическом виде, на дисплее CAR PC под управлением Windows (на отдельном, или в составе фронтенда на основном) или на разного рода ANDROID устройствах. Блок сбора данных не использует протоколы СAN, K-line, OBD и подобные, чем принципиально отличается от аналогичных решений. Все штатные датчики подключаются непосредственно к блоку. Блок опрашивает датчики с периодом 50 мс, и передает данные в цифровом виде в программу визуализации. Независимый опрос датчиков позволяет значительно повысить частоту опроса, а также использовать систему на автомобилях не имеющих ЭБУ (карбюраторные, дизельные, электро).
Система состоит из Блока сбора и обработки данных Venator PSU, программы Venator и устройства отображения (компьютер на Windows или Android устройство)
Программа Venator использует платформу Adobe AIR. Благодаря этому достигается высокое качество графики и совместимость с платформами Windows и Android. Так же присутствуют несколько стилей оформления активных элементов пользовательского интерфейса и возможность использовать пользовательские фоны (скины).
Передача обработанных данных осуществляется по интерфейсам COM over USB, Ethernet, Wi-Fi, причем одновременно, что дает возможность, запустив программу на нескольких устройствах, получать на них данные с одного блока обработки
На сегодняшний день доступен следующий функционал:
1. Индикация скорости
2. Индикация оборотов ДВС
3. Сигналы зеленой и красной зоны оборотов ДВС т.н. SHIFT (настраиваются пользователем)
4. Общий одометр (начальный пробег задается пользователем)
5. Суточный сбрасываемый одометр (сбрасывается кнопкой)
6. Сервисный счетчик обратного отсчета (интервал межсервисного пробега задается пользователем)
7. Индикация напряжения бортсети (калибруется пользователем)
8. Индикация температуры ДВС (калибруется пользователем)
9. Индикация остатка топлива (калибруется пользователем)
10. Контрольные лампы
11. Часы
12. 5 скинов
13. Дневной и ночной режим каждого скина (переключение при включении габаритов или по датчику освещенности)
14. 4 стиля стрелок (выбирается пользователем)
На данный момент в базовую версию программы включены 5 скинов:
Решил заморочиться вкорячить планшет в приборку. Чертежи родной приборки с размерами есть, габариты планшета есть. Начертил переходник. Вырезали лазером из акрила — 60 грн. с материалом. Купил на радиорынке стойки м3 6мм. 12 шт. — 12 грн.
Планшет был в наличии.
После первой примерки обнаружилось что переходник не очень ровно встает в родную шахту. Решил переделать и заодно избавиться от головок винтов на лицевой панели.
Усовершенствованный вариант переходника без винтов на лицевой панели. Держится мертво, без перекосов и люфтов
Планшет подключен к жгутам родной приборки через блок сбора данных. Установлен софт собственной разработки для приборов и контрольных ламп + дополнительные плюшки.
Оттарировал все датчики.
Датчик температуры тарировал следующим образом:
Прогрел машину до включения вентилятора. По мере остывания измерял температуру блока возле датчика лазерным ИК-термометром. В контрольных точках температуры записывал показания АЦП. Потом ввел в программу и еще раз контрольный прогрев. Удалось получить погрешность меньше 1 градуса.
ДУТ пришлось выкручивать из пустого бака, заодно и профилактику сделал. Поплавок оказался дырявый в месте крепления к коромыслу. Взял кусок пластиковой трубы 3/4", загнал туда две винных пробки и поставил вместо поплавка. Записал показания АЦП в крайних положениях коромысла. Потом залил из канистры ровно 20 л. и тоже записал значение АЦП. Путем несложных вычислений построил график и ввел в прогу. Показания датчика колеблются +- 2 л. Это скорее всего особенность самого датчика, попробую увеличить инерционность показометра.
Датчик скорости тарировал по GPS. Добавил в прогу фичу фиксации максимально достигнутой скорости. Навител в телефоне переключил в режим датчиков и сбросил датчик максимальной скорости. Разогнался до 140 км/ч. Получил максимальную скорость с GPS и с датчика. Ввел в прогу поправочный коэффициент. Контрольный заезд GPS — 137.8 км/ч, ДС -139 км/ч.
Напряжение на клеммах замерял тестером, значение в проге подтянул коэффициентом.
Схема подключения к разъемам приборки Таврия люкс. С незначительными изменениями подойдет и для других карбюраторных авто.
Софт:
1. Приложение Venator_Tavria1
2. Tasker + Secure settings
1. В Tasker создал правило "Загрузка окончена -> Запустить приложение Venator_Tavria1" Обеспечивает автозагрузку приложения. Если планшет выключен, то при подаче питания на разъем USB, планшет автоматически включается и после загрузки запускает приложение.
2. Правило Tasker "Не зарядка любой -> Secure Settings Airplanemode Enabled". Если планшет включен, но на разъеме USB нет напряжения, то отключается радиомодуль WiFi планшета, для экономии заряда батареи.
3. Правило Tasker "Зарядка любой -> Secure Settings Airplanemode Enabled, Secure Settings Keep Display On:Never, Запустить приложение Venator_Tavria1". При подаче питания на разъем USB планшета — включается радиомодуль WiFi планшета, разрешается переход планшета в спящий режим при определенном времени бездействия (настройка времени спящего режима в стандартных настройках Android), запускается приложение Venator_Tavria1.
При наличии сигнала зажигания, приложение Venator_Tavria1 запрещает переход планшета в спящий режим. При отсутствии сигнала зажигания переход в спящий режим разрешен и срабатывает правило №3.
В итоге имеем:
Холодный старт — планшет выключен, питание планшета и модуля WiFi отсутствует. Подаем питание — планшет автоматически включается, запускается модуль WiFi, загружается приложение. Если в течении нескольких секунд не включить зажигание — планшет переходит в спящий режим, при включении зажигания планшет выходит из спящего режима. Готов к работе. Время холодного старта — 58 с.
Теплый старт — планшет в спящем режиме, питание планшета и модуля WiFi отсутствует. Подаем питание — планшет выходит из спящего режима, включается радиомодуль WiFi планшета, запускается модуль WiFi, загружается приложение. Время теплого старта — 40 с.
Горячий старт — планшет в спящем режиме, питание планшета и модуля WiFi присутствует. Включаем зажигание — планшет выходит из спящего режима. Время горячего старта — 1 с.
Добавил анимацию на включение/выключение зажигания
В итоге у меня появился тахометр и суточный одометр которых не было в штатной панели, настраиваемые двухступенчатые варнинги по скорости и оборотам, фиксация максимальной скорости, указатель топлива с точностью 1 л и температуры 1 град. Регулировка яркости вручную, по времени или по датчику освещенности. Дублирование приборной панели на смартфоне. Плюс могу пользоваться интернетом на стоянке ). Вау-эффект тоже присутствует))
Дошли наконец руки написать статью о своей виртуальной панели приборов ! Тут будет подробно описан процесс установки такой панели приборов на почти любую машину . Вдохновлялся такой приборкой мерса :
Выглядит моя вот так :
. Начнем с общего описания . Что нам понадобится ? Планшет на андроиде или ios(можно ноутбук или планшет на винде, софт этой программы есть на все системы почти ) . Адаптер обд 2 блютуз или вай фай . (Предпочтительно блютуз, меньше жрет аккума ) . У меня был выбор между двумя
После примерки понял что влезает по высоте только правый который меньше . У вас же надо смотреть по месту, чем больше планшет сунете тем будет красивее) не придется думаю как облагораживать пустые места по краям.
ВАЖНО : БЕРИТЕ ПЛАНШЕТ С ХОРОШИМ ЭКРАНОМ ЧТОБЫ НА СОЛНЦЕ БЫЛО ЧИТАЕМО !
Дальше нам понадобиться сама программа :
Покупайте сразу платную стоит 300р и там нет рекламы .
Вот примеры приборок которые мог быть, красота :
Суть работы в следуйщем : программа через адаптер общается с мозгами машины берет оттуда инфу и передает ее в планшет на красивую приборку :) чем умнее мозги тем больше можно вывести информации с мозгов . Так же есть вариант через ардуино вывести туда инфу которой в мозгах нет, например поворотники, дальний свел И.т.д . Но мне это не очень нужно . У меня на машина 099 с мозгов январь 5.1 берется : скорость (можно и по gps с планшета), тахометр, вольтметр, температура ож, чек .Пробег программа считает сама . На мозгах иномарок так же как правило есть инфа о остатке топлива в баке, давлении масла, давлении топлива, это все можно вывести на приборку ! Любую инфу с мозгов можно вывести на эту приборку, возможности кастомизации интерфейса очень широкие . Я же остаток топлива смотрю с борт компа, лампу резерва топлива я оставил на приборке (лампочка, давление масла тоже оставил на приборке ) так то если говорить о вазе то можно любые лампочки из приборки оставить какие нужны, зависит только от ваших прямых рук, как это красиво организуете !Как сделал я, в картинках :
Такую приборную панель можно собрать на любой автомобиль, это универсальное устройство. Мы собирали приборную панель на базе уже существующей под названием Venator.
Для ее создания потребуются следующие комплектующие:
- Контроллер Arduino MEGA
- Планшет с операционной систем Androir
- Модуль Wi-Fi esp8266
- Преобразователь питания с 12 до 5 вольт (можно использовать любое автомобильное зарядное устройство для мобильных телефонов).
К контроллеру Arduino подключаются все датчики автомобиля. В нашем случае потребовалось еще установить датчик скорости в коробку передач вместо тросика привода спидометра. А так же завести провод в салон автомобиля от коммутатора зажигания, чтобы контроллер смог отображать обороты двигателя (это нужно было сделать, так как в ОКЕ не был установлен тахометр).
Схема
Датчики к контроллеру подключить необходимо по следующей схеме:
Приложение «Приборная панель для планшета»
Приложение можете скачать по ссылке.
Благодарим пользователя Frud портала Drive2 за опубликованную версию приложения и описание метода установки приложения:
После установки приложение уже будет работать. Для того чтобы включить его автозагрузку необходимо сделать следующее:
После установки необходимо зайти в настройки Андроид, в раздел «Домашний экран», выбрать приложение приборной панели VenatorLite2. Очень важный момент! Выйти в настройки Андроида из приложения приборной панели для возврата стандартного Launcher-a нельзя. Перед тем как установить приложение вместо Launcher-a необходимо убедиться что в настройки можно зайти из статусбара. Иначе вернуть стандартный лаунчер будет проблематично.
ПРИМЕЧАНИЕ! Перед установкой автозагрузки желательно настроить и отладить работу приложения.
После запуска приложения нужно зайти в настройки (нажать на значок шестеренки справа вверху). Тут надо указать ip-адрес и порт (В нашем примере этими значениями являются: адрес 192.168.4.1 и порт 3333).
Осталось все подключить и протестировать. Если все сделали правильно, то при вкючении устройства и подаче на 4-ый пин ардуино «плюса» приборная панель включится.
А вот как выглядит приборная панель, установленная в ОКУ:
Желаем успеха в реализации данного проекта
Скетч (прошивка) для контроллера Arduino Mega
unsigned long micros_sp = 0, micros_th = 0;
volatile int tz;
volatile int sz;
volatile int sp; //импульсы спидометра
volatile int th; //импульсы тахометра
int analogInput [15]; //массив аналоговых значений
int digitalInput[29]; //массив цифровых значений
String resultString = «»; //строка
int i; //счетчик циклов
//********************************************************************
void setup() <
for(i=0; i digitalInput[i]=0;
>
for(i=0; i analogInput[i]=0;
>
Serial.begin(115200);
Serial2.begin(115200); //инициализация ком порта
attachInterrupt(0, speedometr, RISING); //прерывание спидометра по фронтам импульса
attachInterrupt(1, tahometr, RISING); //прерывание тахометра по фронтам импульса
>
//********************************************************************
void loop() <
analogInput[0] = analogRead(0); // B13 напряжение
analogInput[1] = analogRead(1); // B24 топливо
analogInput[2] = analogRead(2); // B21 температура охлаждения
analogInput[3] = analogRead(8); //
analogInput[4] = analogRead(7); //
analogInput[5] = analogRead(3); //
analogInput[6] = analogRead(4); //
analogInput[7] = analogRead(9); //
analogInput[8] = analogRead(10); //
analogInput[9] = analogRead(11); //
analogInput[10] = analogRead(12); //
analogInput[11] = analogRead(13); //
analogInput[12] = analogRead(14); //
analogInput[13] = analogRead(15); //
analogInput[14] = analogRead(6); //digitalInput[0] = digitalRead(4); // зажигание
// digitalInput[1] = digitalRead(5); //
//********************************************************************
digitalInput[2] = digitalRead(53) + //
digitalRead(51) * 2; //
//********************************************************************
digitalInput[3] = digitalRead(5) + // A14 левый поворот
digitalRead(6) * 2; // A13 правый поворот
//********************************************************************
digitalInput[4] = digitalRead(8) + // A18 ближний
digitalRead(9) * 2; // A17 дальний
//********************************************************************
digitalInput[5] = digitalRead(10) + // А16 птф передние
digitalRead(11) * 2; // A15 птф задний
//********************************************************************
digitalInput[6] = digitalRead(23); // A23 чек
digitalInput[7] = !digitalRead(21); // B 9 — уровень тж
digitalInput[8] = !digitalRead(31); // A19 — ручник
digitalInput[9] = digitalRead(25); // B 3 износ колодок
digitalInput[10] = !digitalRead(45); // B10 — лампа топлива
digitalInput[11] = !digitalRead(51); // B12 — уровень ож
digitalInput[12] = !digitalRead(47); // А24 — давление масла
digitalInput[13] = digitalRead(27); // A20 лампа вентилятора
digitalInput[14] = !digitalRead(29); // A23 зарядка
digitalInput[15] = digitalRead(33); // A 5 абс
digitalInput[16] = digitalRead(35); // A20 srs
digitalInput[17] = digitalRead(37); // A 3 ремень
digitalInput[18] = digitalRead(39); // B 1 двери
digitalInput[19] = 0;//digitalRead(22); // B 2 p
digitalInput[20] = 0;//digitalRead(24); // А22 r
digitalInput[21] = 0;//digitalRead(26); // A 7 n
digitalInput[22] = 0;//digitalRead(28); // B 6 d
digitalInput[23] = 0;//digitalRead(30); // B 5 s
digitalInput[24] = digitalRead(41); // A 8 резерв
digitalInput[25] = 0;//digitalRead(32); // A 9 резерв
digitalInput[26] = digitalRead(43); // A10 резерв
digitalInput[27] = 0;//digitalRead(34); // A11 резерв
digitalInput[28] = digitalRead(49); // B 4 резервresultString = String(resultString + sp);
resultString = String(resultString + «,»);
resultString = String(resultString + th*10);
resultString = String(resultString + «,»);
for(i=0; i resultString = String(resultString + analogInput[i]);
resultString = String(resultString + «,»);
>
for(i=0; i resultString = String(resultString + digitalInput[i]);
>
resultString = String(resultString + «:\n»);
// Serial2.print (resultString);
Serial.print (resultString);
resultString = String(«»);
tz = tz — 1;
sz = sz — 1;
if (tz == 0)
if (sz == 0)
delay(50);
>
//********************************************************************
void speedometr() < //измеряем частоту на входе спидометра по прерыванию
sp=(900000.0/( micros() — micros_sp));
micros_sp = micros();
sz = 10;
>
//********************************************************************
void tahometr() < //измеряем частоту на входе тахометра по прерыванию
th=(2900000.0/( micros() — micros_th));
micros_th = micros();
tz = 10;
>
6 Ответ от Admin 2016-01-19 13:11:31
iliaBkmz, так интерфейс подключения еще надо делать. В обычный планшет ты колодку от комбинации приборов не подключишь и не припаяешь
Настройка ESP-8266
Перед тем как подключать Модуль ESP8266 к схеме его нужно прошить и настроить в режиме прозрачного моста Tcp2uart (tcp to uart), чтобы полученные данные с ком-порта он передавал планшету по Wi-Fi.
Прошивать лучше через USB-UART преобразователь, который должен иметь выход источника 3.3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.
Готово! Теперь при подключении модуля ESP-8266 к ардуино он работает в режиме прозрачного моста и по Wi-Fi передает необходимые данные.
5 Ответ от iliaBkmz 2016-01-19 10:19:57
Прогу эту купить можно.
По сути тут нужно CarPc городить или планшет вкорячивать. И то и другой с покупкой подобной проги - влетает в копеечку.
4 Ответ от Денис Артюхов 2016-01-19 10:00:27
Программист какой нибудь.
2 Ответ от iliaBkmz 2016-01-19 08:39:00
Ого! Если это самодел - то кто-то нереально заморочился.
А кто автор?
3 Ответ от Admin 2016-01-19 09:05:37
iliaBkmz, я автору видео писал
Читайте также: