Приборная панель авто на ардуино

Ардуино, как средство для продвижения идеи. Виртуальная приборная доска, или многофункциональный индикатор

1f6da62s 100

167155as 960

Пробовал развить идею приборной доски типа применяемых в авиации, на основе ЖК дисплеев, с отображением в привычной форме индикаторов автомобиля(температура ОЖ, уровень топлива, давление масла, одометр, спидометр, тахометр, вольтметр, сигналки) встраиваемый в штатное гнездо торпедо. На сообществе стайлинга приборок тема удалена, админу виднее!Попробую тут.Для примера, вот такие фото Мне подсказали, что АЦП для этого делают на ардуино, по крайней мере, работающий экземпляр Есть еще ссылки в форуме, это все, что осталось от темы.Может и здесь окажусь с темой не ко двору, но аудитория рукастодумающая, глядишь, через месяцок кто-то и готовое выложит!

967155as 960

278955as 960

Комментарии 42

PqAAAgExlOA 60

тут тебе не ардуино нужно, а малинка (raspberry PI или orang). И строить такое нужно или на полноценном экране от планшета или вообще экране.

fbb48aes 60

Я думаю, если делать полномасштабный проект, то, сколько бы ног у Ардуино не было, она не справится с поставленной задачей. Скорее всего это все нужно реализовать на более мощном микроконтроллере. За вывод на экран, скорее всего будет отвечать не микроконтроллер, а что-то типа микро ПК, либо планшет. А вообще, я ЗА такую идею. Тем более, что сам планирую в скором времени начать делать БК, который можно было бы установить на любой автомобиль, вне зависимости, если на нем разъем OBD или нет.

8db42dcs 60

d90a16cs 60

Мне кажется Ардуино больше подходит как центр сбора и обработки данных с датчиков, а вот работу с пользователем (экран, уведомления) лучше оставить одноплатнику типа малинки и иже с ней…

ea7693as 60

Да, ардуинка не вытянет отображение, а джойстик вместо руля — кул!

18a462as 60

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

pYAAAgEhJOA 60

всеми лапами за идею!

8db42dcs 60

18d063cs 60

в чем суть венатора или ему подобных? для дешевых авто это дороговато, а на дорогих вполне себе панель приборов, скорость, бензин показывает — че еще надо? ))

d90a16cs 60

Ну мы получаем большую информативность в маленьком объеме. Целевая аудитория тоже имеется…

4e8f66u 60

развиваем идею.
так как многообразие всевозможных лампочек и датчиков в разных моделях авто велико. Понадобяться конфигурационные файлы под каждую модель автомобиля. в них нужно будет прописать,
какой вход отвечает за какую лампочку(контрольных иконок придется отрисовать много чтобы у пользователя не возникло проблемы с настройкой под себя). и полярность сигнала, то есть зажигать лампу при подаче плюса или при подаче массы. в нем же прописать такие параметры как, объем бака, Максимальная скорость на шкале спидометра, а то у кого-то 180, а у кого-то и 240 бывает разметка.
подробно описать формат такого файла, либо создать простенький редактор, чтобы пользователи могли сами под себя составлять нужные наборы значков и параметров.

8db42dcs 60

aa9d3d2s 60

так готовое устройство сделал или просто идея?

e680f4cs 60

Venator 540-710$ в зависимости от комплектации

aa9d3d2s 60

e680f4cs 60

aa9d3d2s 60

которая проверяет патч после покупки.

4e8f66u 60

Для начала нужен ардуин с максимальным количеством ног, потому как датчиков и всяких лампочек которые нужно отображать очень много.
Дальше опрос ног. Импульсы тахометра и спидометра через прерывания, в сети есть примеры кода,
Лампочки контрольки совсем без проблем те которые включаются плюсом подаем через транзистор, те которые массой напрямую по аналогии кнопки с подтяжкой.
Все аналоговые датчики температуры ОЖ и уровня бензина итп. Заводим на ацп порты ардуино через резисторные делители.

Придумываем формат посылки этих всех данных в комп по uart это несколько байтов данных.
Комп получая эту посылку отрисовывает состояние на дисплей.

Из того что нужно както решать. Набор контролек на всех машинах различный, если девайс задумывается как универсальный, то должна быть возможность первоначального задания набора лампочек так сказать. Тоже самое и с тахометром 4 цилиндровые двигатели дают два импульса на приборку за один оборот КВ, а шести цилиндровые три импульса, без поправок будет неправильно показывать.
С датчиками скорости вобще разброд и шатания, лепять и шесть импульсов на метр и десять и как у нас на хондах вобще 2.5 импульса на метр (2548 импульсов киломметр) вобщем этот момент тоже нужно учитывать.

Температура двигателя и бак. Тут незнаю даже, термодатчики у всех разные. Датчики уровня бака и подавно да и сами баки разные по обьему. Нужна опятьже железобетонно работающая процедура калибровки. В целом задача вполне решаемая Венатор же сделал. )))

1f6da62s 60

Спецы советуют мегу 2560, по лампочкам и указателям-вчерновую можно комплектовать тройниками, устанавливаемыми между разъемами приборки штатной и подключаемой, задавать адреса лампочек, по факту включения назначать, уровень топлива вчерновую по штатному, вчистолвую-тарировать хотьполитру доливать-отбирать, по ОЖ-вчерновую по штатному, вчистовую по цифровому термометру, давление масла-по механическому манометру, тоже и по топливу и наддуву.Тахометр-понятно, спидометр-по жлс или по приборке!

4e8f66u 60

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

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

8db42dcs 60

Для начала нужен ардуин с максимальным количеством ног, потому как датчиков и всяких лампочек которые нужно отображать очень много.
Дальше опрос ног. Импульсы тахометра и спидометра через прерывания, в сети есть примеры кода,
Лампочки контрольки совсем без проблем те которые включаются плюсом подаем через транзистор, те которые массой напрямую по аналогии кнопки с подтяжкой.
Все аналоговые датчики температуры ОЖ и уровня бензина итп. Заводим на ацп порты ардуино через резисторные делители.

Придумываем формат посылки этих всех данных в комп по uart это несколько байтов данных.
Комп получая эту посылку отрисовывает состояние на дисплей.

Из того что нужно както решать. Набор контролек на всех машинах различный, если девайс задумывается как универсальный, то должна быть возможность первоначального задания набора лампочек так сказать. Тоже самое и с тахометром 4 цилиндровые двигатели дают два импульса на приборку за один оборот КВ, а шести цилиндровые три импульса, без поправок будет неправильно показывать.
С датчиками скорости вобще разброд и шатания, лепять и шесть импульсов на метр и десять и как у нас на хондах вобще 2.5 импульса на метр (2548 импульсов киломметр) вобщем этот момент тоже нужно учитывать.

Температура двигателя и бак. Тут незнаю даже, термодатчики у всех разные. Датчики уровня бака и подавно да и сами баки разные по обьему. Нужна опятьже железобетонно работающая процедура калибровки. В целом задача вполне решаемая Венатор же сделал. )))

пару ардуинок+планшет с отг функцией. Либо планшет вбютуз + ардуинка блютуз = такая же идея только вай фай

Источник

Установка панели приборов Venator. Часть 4.

7dc6771s 100

Теперь разберемся с, так называемым, блоком сбора данных.
Напомню: к нему относится Arduino Mega 2560 R3 и шилд. Так вышло, что Arduino необходимо пояснить что и как собирать. То есть нужна программа, называемая Скетч. Разработчики постарались и написали скетч. Более того, не один. К разным версиям программы и разным шилдам — разные скетчи. Да и те, что подходят — не совсем таки подходят. Так я столкнулся с этой проблемой. Скачать его можно вот в этой теме: Цифровая приборная панель на автомобиль своими руками
Ну допустим скачали скетч из темы. Открываем — а оно не открывается. Для того, чтоб открыть для просмотра и редактирования, а тем более для закачки в Arduino — рекомендую зайти на Сайт по Arduino и установить и подключить как там описано. Для китайской версии Arduino нужно еще скачать и установить драйвера. Так же могу порекомендовать Много полезного по Arduino. Ссылка ведет на сайт с подробным описанием и видео по подключению и настройке, а так же с ссылками для скачивания драйверов и прочего.
Теперь мы открываем скетч и о чудо!, он открывается. И вот мы видим кучу непонятных букв.

703bacds 960

В принципе можно загрузить этот скетч, и оно вполне загрузится и будет работать. Однако соответствие входов не гарантируется. Соответственно нужные функции будет выполнять наугад, или не выполнит вовсе.
Потому пришлось разбираться.
Во первых к шилду не прилагалась схема. При подробном изучении я смог разобраться и сделал набросок шилда. В нем разметил распиновку и названия выводов, сопоставив их с Arduino.

e3ddcds 960

В общем не знаю правильно ли, но у меня в скетче в комментариях написаны к чему какой вход я привязал. Тесты спидометра и тахометра я пока провести не могу (нет генератора импульсов), да и аналоговые еще не тестировал, однако цифровые входы работают в большинстве своем (еще в процессе тестов).
Если что то накосчил — прошу исправить.

Источник

T_OBD1+Arduino-приборная панель и система ACIS

bd6ffcas 100

Наступила зима, машина живет в гараже. Много разных дел и совсем нет времени навещать автомобиль. Давно была идея реализовать управление всеми доп. системами установленными на авто через arduino.
Спасибо Ajlewka за запись которая стала бооольшим пинком для действий. Перелопатив код под свои нужды и добавив чтения из протокола параметров флаг1 и флаг2 (состояние акпп, кондея, ошибки системы, холотный пуск и тд.)
И вот навещая авто решил забрать с собой частичку, а именно приборную панель и ЭБУ 🙂 а если быть точнее все два (старого образца с T_OBD1 и нового с OBD2).
Планы грандиозные, ну а пока что сделано и почему…
1. решил перейти на старый ЭБУ с протоколом tobd1, на нем машина резвей себя ведет (наверное нормы экологии не те еще), и данные по этому протоколу можно напрямую считывать arduino без elm327.
2. датчик температуры двигателя на приборной панели с переходом на инжектор корректно не работал- теперь в него монтирован сервопривод которым управляет arduino 🙂 (думал все приборы заменить но протокол старый и скорость обновление не более 1сек., тахометр будет дергаться и тд…но может быть в дальнейшем переведу датчик уровня тоже на сервопривод, а тахометр сервопривод но параметры с сигнала тахо.)

cIAAAgIoDeA 960

y4AAAgIoDeA 960

mYAAAgIoDeA 960

3. С начал при отладке использовал классический дисплей 16х2, и думал вмонтировать его в тахометр, но после примерки отказался от этой идеи. Дисплей 10х2 не смог найти в ближайших магазинах, но увидев дисплей 8х2 подумал, а что если заменить дисплей часов… В итоге. дисплей +arduino nano+ bluetooth модуль все в корпусе штатных часов, дисплей как родной, кнопка настройки часов тоже подключена к arduino.

gkAAAgIoDeA 960

4. Системой acis через реле управляет arduino. Алгоритм согласно мануала.

UIAAAgIoDeA 960

5. Понравилось в новом ЭБУ что он подключается к O/D off акпп и включает этот решим при ускорениях и коробка хоть и гидравлическая но за счет этого меняются обороты переключения скоростей, так же через реле под управлениям arduino это реализовано. (аля режимная теперь 🙂 )
6. Ну и посчитав что не хорошо оставлять пустым оставшийся один выход, вывел на него управление реле ходовых огней. arduino так же узнает от ЭБУ включена P, N или скорость- при скорости светятся в остальных нет (удобно при автозапуске).
7. Долго думал, дисплей маленький максимум два параметра по одному на строчку выводить, что вывести. Решение пришло само, когда посмотрел на часы автомобильные-крутилка кнопка. Теперь прям как по заводу, при помощи заводской крутилки «экраны» с параметрами перелистываются, аж 8 получилось. И можно выбрать что выводить на дисплей.

Источник

Цифровая приборная панель на автомобиль своими руками

priborkaТакую приборную панель можно собрать на любой автомобиль, это универсальное устройство. Мы собирали приборную панель на базе уже существующей под названием Venator.

Для ее создания потребуются следующие комплектующие:

К контроллеру Arduino подключаются все датчики автомобиля. В нашем случае потребовалось еще установить датчик скорости в коробку передач вместо тросика привода спидометра. А так же завести провод в салон автомобиля от коммутатора зажигания, чтобы контроллер смог отображать обороты двигателя (это нужно было сделать, так как в ОКЕ не был установлен тахометр).

Схема

Датчики к контроллеру подключить необходимо по следующей схеме:

scheme 1

Скетч (прошивка) для контроллера 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); //

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;
>

Настройка ESP-8266

Перед тем как подключать Модуль ESP8266 к схеме его нужно прошить и настроить в режиме прозрачного моста Tcp2uart (tcp to uart), чтобы полученные данные с ком-порта он передавал планшету по Wi-Fi.

Прошивать лучше через USB-UART преобразователь, который должен иметь выход источника 3.3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.

Готово! Теперь при подключении модуля ESP-8266 к ардуино он работает в режиме прозрачного моста и по Wi-Fi передает необходимые данные.

Приложение «Приборная панель для планшета»

Приложение можете скачать по ссылке.

Благодарим пользователя Frud портала Drive2 за опубликованную версию приложения и описание метода установки приложения:

После установки приложение уже будет работать. Для того чтобы включить его автозагрузку необходимо сделать следующее:

После установки необходимо зайти в настройки Андроид, в раздел «Домашний экран», выбрать приложение приборной панели VenatorLite2. Очень важный момент! Выйти в настройки Андроида из приложения приборной панели для возврата стандартного Launcher-a нельзя. Перед тем как установить приложение вместо Launcher-a необходимо убедиться что в настройки можно зайти из статусбара. Иначе вернуть стандартный лаунчер будет проблематично.

ПРИМЕЧАНИЕ! Перед установкой автозагрузки желательно настроить и отладить работу приложения.

После запуска приложения нужно зайти в настройки (нажать на значок шестеренки справа вверху). Тут надо указать ip-адрес и порт (В нашем примере этими значениями являются: адрес 192.168.4.1 и порт 3333).

Осталось все подключить и протестировать. Если все сделали правильно, то при вкючении устройства и подаче на 4-ый пин ардуино «плюса» приборная панель включится.

А вот как выглядит приборная панель, установленная в ОКУ:


Желаем успеха в реализации данного проекта

Источник

Arduino в автомобиле. Озвучивание панели приборов

Говорящее устройство рассчитано на тех, кто не замечает лампочки на панели приборов, и периодически ловит себя на том, что едет с ручником или дальним светом. Или что стрелка спидометра незаметно уползла сильно вперёд… Ага, для себя делал.

Проверялось на (заточено на) Daewoo Nexia N150, но должно работать на любой машине с электронным спидометром (датчик скорости — 6 импульсов на метр, вроде как стандарт). Фотографии немного мутные (любительские):

9da80561b358

a69f6a25b9d0

1. Говорит голосом (5 уровней громкости) о различных событиях (события описаны далее)

а) мужским
б) женским

Голоса синтезированы на компьютере, записаны в виде набора mp3-файлов на микроСД карту. Это значит, что вы можете их поменять или записать.

2. Настройки выполняются с ПДУ от телевизора (или любого другого с достаточным количеством кнопок, настоятельно рекомендую ПДУ с кнопками 0-9). Настройки запоминаются в момент изменения.

3. В случае отказа/потери ПДУ, извещатель может быть оперативно переключен на режимы «нет звуков» или «нет звуков, кроме ручника». Для этого используется тройное включение габаритов (идея использовать мигание габаритами в качестве управляющего сигнала для настройки спёрта с какого-то устройства регулировки яркости ДХО).

— Ручник (если горит лампочка ручника во время движения)
— Включен дальний свет (мигание дальним игнорируется, предупреждает один раз после включения, далее не напоминает, пока дальний не переключат)
— Включите ходовые огни (если начато движение без включенных габаритов, у меня ДХО и ближний не работают, если не включены габариты).
— Напряжение бортовой сети (точность до десятой доли вольта)
— Превышение порога скорости 40, 50,… 120, 130 км/ч.
— Понижение порога скорости 40, 50,… 120, 130 км/ч.
— Изменение громкости, переключение голоса, отключение/включение каждого из озвучиваемых событий (включение вольтметра вызывает одновременно озвучивание напряжения).

Видео с демонтрацией:

1. К спидометру — сразу три провода: земля, +12 (отсюда берём питание на устройство и данные для вольтметра), сигнал от датчика скорости.

2. К лампочкам — ручника, дальнего света, подсветки приборов (габариты).

Согласование уровней сделано довольно просто — выводы ардуины подтянуты внутренним резистором в «1», а сигналы 12В уровня из приборной панели идут через диоды. Когда с панели идет +12, диод закрыт — на ардуине «лог.1». Когда сигнал с панели идет землёй — диод открыт, внутренний подтягивающий резистор игнорируется, на выводе ардуино «лог.0».

Вольтметр — просто резистивный делитель на аналоговый вход. Отношение примерно 1:13, из того расчета, что при максимальном напряжении бортовой сети 16В (аварийный режим) АЦП достигнет своего предела при опорном сигнале 1,2В.

2. Модуль mp3 — DFplayer mini

Данный модуль в интернет-схемах подключается по tx/rx сигналам, я добавил анализ сигнала busy, для поимки момента окончания воспроизведения звука, чтоб новое оповещение не перебивало текущее, а вставало в очередь.

3. Усилитель PAM8403 (необязательный элемент)

Из текста прошивки можно легко увидеть, куда заведены все анализируемые сигналы, куда прописать коды вашего ИК-пульта (взять их можно с помощью демо-скетча IRRecvDump). Также константами явно прописаны моменты срабатывания озвучки скоростей (обратите внимание на то, что скорости озвучиваются несколько раньше, чем будут реально достигнуты — чтоб успеть сбавить, не превысив).

Для отладки, доводки и демонстрации использовалась другая ардуина — arduino uno и модулем LCD-дисплея и кнопками.

Она умеет выдавать сигналы — габариты, дальний свет, ручник, и менять скорость с 0 до 150 примерно. Из недостатков — нет подавления дребезга контактов, но мне не особо мешает этот момент.

Источник

Оцените статью
AvtoRazbor.top - все самое важное о вашем авто