Жк дисплей в приборную панель своими руками

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

Такую приборную панель можно собрать на любой автомобиль, это универсальное устройство. Мы собирали приборную панель на базе уже существующей под названием 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-ый пин ардуино «плюса» приборная панель включится.

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

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

Источник

Форум владельцев Audi 80 в кузове В2

Меню навигации

Пользовательские ссылки

Информация о пользователе

Самодельная цифровая приборная панель

Сообщений 1 страница 26 из 26

Поделиться113.06.2016 19:27

  • Автор: Medved
  • Участник
  • Откуда: г. Кишинев, Молдавия
  • Зарегистрирован : 01.02.2012
  • Приглашений: 0
  • Сообщений: 27
  • Уважение: [+2/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Возраст: 42 [1980-10-10]
  • Провел на форуме:
    4 дня 18 часов
  • Последний визит:
    28.08.2017 15:05

Здравствуйте. Создаю тему впервые, поэтому могут быть нарушения, ошибки и т.д.

Предисловие.
Всё началось с переставшего считать километраж одометра в приборке моей машинки. Да, начиналось всё просто и я не подозревал что буду писать сей текст.
Перед тем как разобрать приборку и добраться до одометра, я перечитал здесь темы по данной проблемме. Всё в итоге сводилось к лопнувшей плстмассовой шестернке, проскальзывающей силуминовой шестеренке или к слетевшей оси на которой эти шестерни держатся. В моем случае оказалась треснутая шестеренка. Я её подклеим и всё заработало. Но, после сборки и установки приборки, стрелка спидометра начала дергаться при скоростях до 40км/час, что (так же выяснено с форума) говорит о выработке внутри вала спидометра или стиранию квадратного наконечника на тросике спидометра.
Кроме чтения тем по моим проблемам с приборкой я наткнулся на темы с описанием штатных цифровых приборок зеленого и красного цвета. Круто. Подумал я. И офигенно дорого. Огорчился я. И у меня карбюраторная машина с 4-х цилиндровым двигателем. Вспомнил я о своём жигулевском карбюраторе.

А еще я видел темы в которых форумчане обсуждали существование цифровых приборок для автомобилей ВАЗ, возможность их установки/адаптации к нашим Аудюшкам.

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

Наверное вы догадались к чему я клоню? Да-да, цифровая приборка для карбюраторных машин. И понеслось.

Этап1: Первые мысли. Общие принципы.

1. Есть на полочке запасная приборка – предмет экспериментов, исследований, замеров и обмеров.
2. Минимальные переделки как корпуса приборной панели так и электрической проводки машины и приборки. В идеале должно быть так чтобы переделанную приборку можно было легко заменить на оригинальную.
3. Электронные индикаторы должны отображать информацию в виде максимально приближённом к механическим индикаторам.
4. Надежность электронных индикаторов. Все электронные компоненты должны обладать расширенным диапазоном рабочих температур.

Отредактировано Medved (13.06.2016 19:28)

Поделиться213.06.2016 19:29

  • Автор: Medved
  • Участник
  • Откуда: г. Кишинев, Молдавия
  • Зарегистрирован : 01.02.2012
  • Приглашений: 0
  • Сообщений: 27
  • Уважение: [+2/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Возраст: 42 [1980-10-10]
  • Провел на форуме:
    4 дня 18 часов
  • Последний визит:
    28.08.2017 15:05

Этап2: Подбор компонентов, разбиение приборки на модули(первая концепция):

Сразу решил не использовать семисегментные индикаторы, дискретные светодиоды потому что:

1. Главная причина: внешний вид далёк от оригинала.
2. Потребуется большое количество ножек контроллера для управления всеми сегментами индикаторов или обычными светодиодами.
3. Регулирование яркости свечения такого большого числа диодов и сегментов вызвоут еще большие трудности. Не говоря о простом приведении разномастных индикаторов и светодиодов к какой-то общей яркости свечения.
4. Наверняка в устройстве будут заложены какие либо настройки: каких отображать, как их изменять? Семисегментные индикаторы и дискретные светодиоды обладают низкой информативностью. То есть помимо всего вышеперчисленного возникает проблема вывода информации о настройках и способа их изменений.

Читайте также:  Как смонтировать подвесной потолок из алюминиевых панелей

В итоге решил использовать небольшие TFT модули потому что:

1. Стоят на алиэкспрессе сравнительно не дорого.
2. Можно нарисовать оригинальный индикатор. А можно и сделать несколько скинов.
3. Светят ярко. Сравнительно легко регулировать яркость свечения.
4. Не требуют много ножек контроллера. Большинство TFT модулей обладают последовательным интерфейсом.
5. Почти все модули идут с тач панелью. Решается проблема способа изменения настроек. Так же решается проблема отображения текущих настроек. Ткнул пальцем в тахометр с часами – отобразились настройки, изменил кол-во импульсов на один оборот двигателя, установил время, сохранил настройки опять нажатием пальца и вернулся к исходному экрану.

В итоге приборка будет состоять из трёх дисплеев:

1. Дисплей вместо спидометра, размер 106х106мм.
2. Дисплей вместо экономайзера, кол-ва топлива в баке и остальных индикаторов для поворотников, дальнего света, аккумулятора и т. д.
3. Дисплей вместо тахометра, размер 106х106мм.

Каждый дисплейчик управляется своим небольшим контроллером, каждый хранит настройки своего индикатора. Один из контроллеров берет на себя функции регулировки яркости и управляет яркостью двух других с помощью последовательного интерфейса. 1 и 3 дисплейчики будут одинаковые, квадратные. Второй будет прямоугольный. Единственный минус – это разница в размерах пикселей между 1,3 и 2 дисплеем а так же возможная разница в передаче цвета. Дисплеи 1 и 3 к примеру будут 640х640 точек. Дисплей 2 будет 320х240 точек.

Круто-круто-круто, бежим на алиэкспресс. И тут меня поджидал первый облом. Дело в том что индикатор тахометра и индикатор спидометра имеют одинаковые размеры 106х106мм, но дисплейчиков таких размеров я не нашел. Проблема в стандартах разрешений дисплеев. Исходя из них все дисплеи имеют прямоугольную форму, а не квадратную. В итоге я нашел единственный квадратный дисплей 640х640 точек подходящего размера. Это дисплей AA050AA11. Его производит Mitsubishi Electric для авионики и стоит такой дисплей на али около 200 долларов. Про то что есть у него тач панель или нет я уже даже и забыл. Цена меня убила.

Поделиться313.06.2016 19:31

  • Автор: Medved
  • Участник
  • Откуда: г. Кишинев, Молдавия
  • Зарегистрирован : 01.02.2012
  • Приглашений: 0
  • Сообщений: 27
  • Уважение: [+2/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Возраст: 42 [1980-10-10]
  • Провел на форуме:
    4 дня 18 часов
  • Последний визит:
    28.08.2017 15:05

Долго думал и надумал использовать один большой дисплей. Размер окошка в корпусе приборки получается 292мм по горизонтали и 108мм по вертикали. Вперед на али. И опять засада с размерами. Два дня шерстил, искал. Нашел. Ультраширокий дисплей S123WU01 по размерам чуть больше, но я думаю влезет. Пусть даже и без тач панели.

1. Один экран, всё светится с одинаковой яркостью, в одном тоне. Нет проблем с размерами пикселей.

1. Интерфейс LVDS который обычно отсутствует в микроконтроллерах, но есть микросхемы которые помогут решить эту проблему.

А потом меня постигло очередное разочарование. Разрешение этого дисплея 1920х720 точек. Давайте подсчитаем сколько же оперативки понадобится контроллеру для того чтобы хранить хотя бы одну страницу изображения. Итак, 1920 точек по горизонтали, 720 точек по вертикали, на каждую точку надо хранить три её цветовые составляющие R,G,B по 8 бит на каждую, то есть на каждую точку тратится три байта. Считаем 1920*720*3 = 4 147 200 байт. Грубо говоря нам надо 4Мбайта оперативки только на хранение изображения. Я не знаю контроллеров с такими объёмами RAM. Придется использовать микросхемы памяти – дорого, сложно и долго в плане рисования схем, написания кода, отладки и т.д.

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

Поделиться413.06.2016 19:32

  • Автор: Medved
  • Участник
  • Откуда: г. Кишинев, Молдавия
  • Зарегистрирован : 01.02.2012
  • Приглашений: 0
  • Сообщений: 27
  • Уважение: [+2/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Возраст: 42 [1980-10-10]
  • Провел на форуме:
    4 дня 18 часов
  • Последний визит:
    28.08.2017 15:05

И тут я вспомнил что из Китая мне идёт посылочка в которой лежит одноплатный компьютер Orange Pi PC. На него устанавливается Линукс или Андроид, на плате есть HDMI выход, на али есть платы-
переходники из HDMI в LVDS, значит будет следующая структура приборки:

1. Дисплей S123WU01. Проблем с выводом информации на него не будет благодаря переходнику из HDMI в LVDS.
2. Orange Pi PC как сердце электронной приборки. Благодаря широким возможностям одноплатного компьютера нет проблем с оперативкой, с местом для хранения скинов, настроек и т.д.
3. На плате Orange Pi PC есть инфракрасный приёмник – значит лазить по меню настроек можно будет с помощью какого нибудь инфракрасного пульта, например от магнитолы Пионер которая у меня в машине стоит. ))))
4. Собирается дополнительно платка для сбора данных. На плате Orange Pi PC есть разъём на 40 ножек куда можно подавать сигналы.

Читайте также:  Как удалить лишние значки из панели задач

Всё хорошо, всё круто, но всё таки есть и минусы:

1. Наш дисплей расчитан на рабочий диапазон температур от -30 до 85 градусов Цельсия что в принципе очень хорошо. Надо разузнать про переходник из HDMI в LVDS. А еще я забыл про драйвер подсветки экрана, надо поискать и его. Ну и конечно же выяснить про температурный диапазон Orange Pi PC.
2. Самый главный минус это время загрузки операционной системы. Пообщался на работе с ребятами линуксоидами – говорят можно оптимизоравть так что время запуска можно сократить до трёх секунд – в принципе неплохо. Или можно сделать так чтоб дисплей включался только при ключе в замке зажигания. Иначе дисплей выключен, Orange Pi PC, энергопотребление мимимально. Повернул ключ – всё проснулось, засветилось. Но первый старт будет долгим – можно смириться.
3. Надежность программного обеспечения – программировать и тестировать до победного конца.

И тут меня постигло очередное разочарование.

Поделиться513.06.2016 19:34

  • Автор: Medved
  • Участник
  • Откуда: г. Кишинев, Молдавия
  • Зарегистрирован : 01.02.2012
  • Приглашений: 0
  • Сообщений: 27
  • Уважение: [+2/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Возраст: 42 [1980-10-10]
  • Провел на форуме:
    4 дня 18 часов
  • Последний визит:
    28.08.2017 15:05

Этап5: Всё уже изобретено до нас.

В поисках цен на дисплей я случайно наткнулся на цифровую приборку VENATOR где в принципе давно уже реализовано всё как мне в итоге виделось и хотелось.
В этой приборке есть главный минус – цена. От 500 до 700 долларов. В ней стоит таких же размеров дисплей LQ123K1LG03 что хотел использовать я, но разрешением поменьше и с подсветкой от лампы а не светодиодная. А это значит повышенная вероятность выхода из строя подсветки от вибраций, более мощный драйвер подсветки дисплея, а значит и более дорогой. Но есть и плюсы: дисплей стоит значительно дешевле, их идея вывода изображения камеры заднего вида на приборку вообще вне конкуренции.

Преимущества самостоятельного создания такой приборки:

1. Экономия средств
2. Удовольствие от процесса создания.
3. Опыт в программировании.
4. Дополнительные опции в машине(камера заднего вида).
5. Большой простор для фантазии. Например к Orange Pi PC подключить GPS модуль и вместо тахометра отрисовывать карту GPS навигатора. Так же на Orange Pi PC есть аудио выход – проблем с выводом звука думаю не будет

Ну и чтобы не быть голословным по поводу экономии средств. Давайте посчитаем:

1. Дисплей LQ123K1LG03 с переходником из HDMI в LVDS, драйвером подсветки, кабелями и инфракрасным пультом стоит 119.37 долларов. На плате переходника из HDMI в LVDS есть дополнительный AV для камеры заднего вида.
http://ru.aliexpress.com/item/HDMI-VGA- … 899a91f240
2. Orange Pi PC. Сама плата стоит 15 долларов. Но я заказал себе набор в который входит Orange Pi PC, корпус, блок питания от 220В плюс доставка. Всё это стоит 31.75 доллара.
3. Карта памяти для Orange Pi PC, с неё будет грузится ПО. Маскимально можно воткнуть 64ГБ. У нас на рынке стоит около 20 долларов.
4. Кабель HDMI – 10 долларов.
5. Камеру заднего вида пока не рассматриваю, но не думаю что на али она дорого стоит.
6. Плата сбора данных. Ребята создавшие VENATOR используют Arduino MEGA – готовый модуль для любительских разработок автоматики и робототехники. Возможно я сделаю так же, занчит еще ококло 10 долларов.
7. Расходы на дсикретные элементы: резисторы, конденсаторы, диоды, стабилитроны и т.д. пусть еще 20 долларов.

Итого: 211 долларов + много времени и удовольствия в процессе создания.

Из перечисленных компонентов на данный момент в пути Orange Pi PC. На счёт дисплея – жду зарплаты и хочу еще раз провести все замеры чтобы быть уверенным что дисплей поместится.
На данный момент всё. Спасибо вем кто осилил. Надеюсь продолжение будет и мне хватит сил и времени воплотить всё это в жизнь.

Источник

Оцените статью
Авто Город