Некоторое время назад мне удалось немного посидеть за рулём C6 Corvette, оснащённого индикатором на лобовом стекле (ИЛС или HUD) и мне это очень понравилось. Возможность видеть скорость и обороты двигателя, не отрывая глаз от дороги, делает вождение приятнее.
И с тех пор я хотел сделать ИЛС для своего автомобиля. Разбираясь с применением OBD2 и Arduino для хака автомобилей, я решил сделать себе этот прибор с нуля. Представляю вам материал, который поможет вам сделать свой собственный экземпляр.
Нам понадобятся:
- Teensy 3.5 (или 3.6)
- ESP32
- ELM327 Bluetooth сканер
- SSD1331 дисплей на OLED
- Кабель OBD2
- SD карта
- 7-сегментный дисплей на светодиодах (2x)
- 10-сегментный дисплей
- Клеммные колодки
- 3D модели
- ABS пластик
- Провода
- 3D-принтер
- Набор для пайки
- Резисторы 75 Ом (35x)
- Термоусадка
- 7-контактный коннектор JST XH 2.54 мм (пара мама/папа)
- Проставочные болтики
- Специальная печатная плата
- Потенциометр
- Выключатель
- Плексигласовый диск
- Отражающая плёнка для лобового стекла
- Ножницы
- Маркер
Шаг 1: Напечатать корпус на 3D-принтере и собрать
Скачать 3D-модели
OLED-дисплей можно приклеить куда угодно на ИЛС главное, чтобы проводов хватило.
Шаг 2: изготовить плату и всё спаять
Ссылка на файлы платы в формате Gerber
Эти файлы можно использовать для заказа готовой платы в сервисах типа JLCPCB.
Шаг 3: внешнее подключение
Чтобы управлять питанием ELM327 и платы, не вынимая каждый раз кабель OBD2, нужно будет переподключить питание и землю. Для этого нужно будет открыть корпус сканера OBD и добраться до его контактов.
- Используя приведённую схему, найдите и отрежьте провод 12 В в середине.
- Зачистите его концы.
- Отрежьте и зачистите два красных провода, длиной такой же, как от контакта 12 В OBD2 до выключателя ИЛС.
- Отрежьте и зачистите 1 красный и 1 чёрный провода, длиной такой же, как от контактов питания OBD2 до клеммной колодки платы.
- Припаяйте провода 12 В так, чтобы выключатель ИЛС управлял пиатнием и ELM327, и платы.
- Используя приведённую выше схему OBD2, припаяйте чёрный провод к контакту GND OBD2, а другой его конец соедините с клеммной колодкой платы.
Затем подсоедините 3 контакта на плате под названием LED PWR к потенциометру сбоку ИЛС. Наконец, подсоедините разъём JST-мама к OLED дисплею.
Шаг 4: подготовьте и установите пластик ИЛС
- Возьмите плексигласовый диск, отражающую плёнку, маркер и ножницы.
- Используйте плексигласовый диск и маркер, чтобы нарисовать на отражающей плёнке круг.
- Ножницами вырежьте круг.
- Наклейте вырезанный круг с одной стороны плексигласового диска.
- Вставьте его в разъём ИЛС (отражающей плёнкой к водителю).
Шаг 5: закачать код
Код для ESP32 и Teensy 3.5.
Не забудьте установить SD-карту в Teensy. Вы сможете записывать на неё скорость машины и обороты двигателя в формате CSV. Потом можно будет использовать, например, python, для построения графиков; привожу построенные мною графики.