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

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

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

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

  • Контроллер Arduino MEGA
  • Планшет с операционной систем Androir
  • Модуль Wi-Fi esp8266
  • Преобразователь питания с 12 до 5 вольт (можно использовать любое автомобильное зарядное устройство для мобильных телефонов).

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

Схема

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

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

Настройка 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-ый пин ардуино «плюса» приборная панель включится.

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


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

Источник

Оцените статью
Своими руками