Автомобильный OBD2-дисплей на STM32 и ST7789 1.44 (мини бортовой компьютер)

мини бортовой компьютер

Представляем вашему вниманию компактный бортовой компьютер для автомобиля, подключаемый к диагностическому разъёму OBD2. Устройство построено на базе микроконтроллера STM32 и оснащено цветным TFT-экраном ST7789. Оно считывает данные с CAN-шины автомобиля по протоколу OBD2 и отображает их в наглядном графическом интерфейсе.

Проект OPEN SOURCE, сейчас добавляем все инструкции по сборке (DIY) своими руками.

Основная задача устройства — предоставить водителю оперативную информацию о работе автомобиля без необходимости использовать смартфон или полноценный диагностический сканер. Все данные отображаются в реальном времени на ярком цветном экране.


Технические характеристики

ПараметрЗначение
МикроконтроллерSTM32
ДисплейST7789 (цветной TFT) 1.44
ИнтерфейсCAN 2.0B
Поддерживаемые протоколыISO 15765-4 (CAN 11/500)
Скорость CAN500 кбит/с
Питание12В от разъёма OBD2
УправлениеОдна многофункциональная кнопка
Режимы работы5 экранов

Режимы работы

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

1. Главный экран — Температура охлаждающей жидкости

На главном экране отображается температура охлаждающей жидкости двигателя. Информация представлена в двух видах:

  • Цифровое значение — крупные цифры в центре экрана.
  • Цветовая шкала — дуговая индикация, где цвет сектора меняется от синего (холодный двигатель) через зелёный и жёлтый к красному (перегрев).

Это позволяет мгновенно оценить тепловой режим двигателя даже мельком взглянув на экран. При достижении критической температуры (выше 110°C) шкала становится красной — сигнал для водителя о необходимости принять меры.

Данные считываются по OBD2 PID 0x05.


2. Тахометр

Экран тахометра отображает текущие обороты коленчатого вала двигателя в реальном времени. Информация представлена в виде:

  • Циферблата со стрелкой — аналоговая индикация для быстрой оценки.
  • Цифрового значения — крупные цифры с единицами измерения (RPM).

Цвет цифрового значения меняется в зависимости от оборотов:

  • Зелёный — до 4000 об/мин (нормальный режим).
  • Жёлтый — 4000–6000 об/мин (повышенная нагрузка).
  • Красный — выше 6000 об/мин (опасная зона).

Данные считываются по OBD2 PID 0x0C.


3. Спидометр

Экран спидометра отображает текущую скорость автомобиля. Как и тахометр, он имеет:

  • Циферблат со стрелкой — для быстрой визуальной оценки.
  • Крупное цифровое значение с единицами измерения (км/ч).

Цветовая индикация скорости:

  • Зелёный — до 60 км/ч.
  • Жёлтый — 60–110 км/ч.
  • Красный — выше 110 км/ч (превышение).

Данные считываются по OBD2 PID 0x0D.


4. Замер ускорения 0–100 км/ч

Этот режим позволяет измерить динамику разгона автомобиля:

  • Замер начинается автоматически при начале движения.
  • Фиксируется время достижения 60 км/ч и 100 км/ч.
  • Результаты отображаются на экране с точностью до сотых долей секунды.

Управление замером:

  • Короткое нажатие — запуск/остановка замера.
  • Длинное нажатие — сброс результатов.

Режим идеально подходит для оценки реальной динамики автомобиля на безопасном участке дороги.


5. Меню настроек

Меню позволяет управлять параметрами устройства:

  • DIM — регулировка яркости подсветки экрана (от 15% до 100%).
  • TEMP — возврат на главный экран с температурой.
  • TACHO — переход к тахометру.
  • SPEED — переход к спидометру.
  • ACCEL — переход к замеру ускорения.
  • OFF — выключение устройства.

Управление в меню:

  • Короткое нажатие — перемещение по пунктам.
  • Длинное нажатие — выбор пункта.

Какие автомобили поддерживаются?

ThermoDash работает с автомобилями, которые используют протокол CAN 11 бит / 500 кбит/с (ISO 15765-4). Этот протокол стал стандартом для большинства машин, выпущенных примерно с 2008 года.

Ниже — список марок, у которых почти все модели с 2008–2010 годов используют нужный протокол:

  • Volkswagen Group (Audi, Skoda, Seat, VW) — с 2008 г.
  • BMW — с ~2006 г. (серии 3, 5, 7 и др.)
  • Mercedes-Benz — с ~2006 г.
  • Ford / Mazda — с ~2008 г.
  • Hyundai / Kia — с ~2008 г.
  • General Motors (Opel, Chevrolet) — с ~2008 г.
  • Toyota / Lexus — с ~2008 г. (кроме некоторых ранних гибридов)
  • Nissan / Infiniti — с ~2008 г.
  • Honda / Acura — с ~2008 г.
  • Subaru — с ~2008 г.
  • Suzuki — с ~2010 г.
  • Mitsubishi — с ~2008 г.
  • Volvo — с ~2008 г.
  • Renault / Nissan (совместные платформы) — с ~2010 г.
  • Peugeot / Citroën — с ~2010 г.
  • Lada (Vesta, XRAY, Granta с CAN) — с ~2015 г.

Важно: Некоторые автомобили до 2008 года могут использовать другие протоколы (J1850, KWP, или CAN с другой скоростью). Также некоторые модели (например, ранние Ford Focus, некоторые Opel) перешли на CAN позже. Если ваш автомобиль старше 2008 года — стоит проверить совместимость.


Как узнать протокол OBD2 вашего автомобиля с помощью ELM327

Чтобы убедиться, что устройство подойдёт для вашего автомобиля, можно использовать недорогой адаптер ELM327. Вот простая инструкция:

Что понадобится:

  • Адаптер ELM327 (Bluetooth или USB).
  • Смартфон с приложением для работы с ELM327 (например, «CAN Bus Terminal» «ELM327 Test» или «ELM OBD Terminal»).

Инструкция:

  1. Подключите адаптер ELM327 к диагностическому разъёму OBD2 вашего автомобиля.
  2. Включите зажигание (двигатель запускать не обязательно, достаточно поворота ключа в положение «ON»).
  3. Подключитесь к адаптеру через Bluetooth или USB со смартфона.
  4. Запустите приложение для работы с ELM327.
  5. Отправьте команду определения текущего протокола. В большинстве приложений это делается через терминал или консоль команд.Введите команду:textAT DPи отправьте её.
  6. Прочитайте ответ. Адаптер вернёт строку с описанием текущего протокола. Например:
    • ISO 15765-4 (CAN 11/500) — подходит (11-битный CAN, 500 кбит/с).
    • ISO 15765-4 (CAN 29/500) — не подходит (пока поддерживается только 11-битный).
    • ISO 15765-4 (CAN 11/250) или (CAN 29/250) — не подходит (скорость 250 кбит/с).
    • Другие протоколы (J1850, KWP2000, ISO 9141) — не подходят.
    Альтернативно можно использовать команду AT DPN, которая вернёт номер протокола.

Пример работы с терминалом:

text

> AT DP
ISO 15765-4 (CAN 11/500)
OK

Если вы видите ISO 15765-4 (CAN 11/500) — устройство будет работать с вашим автомобилем!


Управление устройством

Управление осуществляется одной кнопкой:

ДействиеРезультат
Короткое нажатиеПеремещение по пунктам меню / Запуск/остановка замера ускорения
Длинное нажатие (1 сек)Выбор пункта меню / Вход в подменю / Возврат

Навигация по экранам:

text

Главный экран (Температура)

└── Короткое нажатие → Меню

├── DIM → Выбор яркости (короткое — переключение, длинное — сохранение)
├── TEMP → Возврат на главный экран
├── TACHO → Тахометр
├── SPEED → Спидометр
├── ACCEL → Замер ускорения
└── OFF → Выключение устройства

Автоматическое отключение

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