Всем привет.
Смарт-часы были разминкой и наработкой материала для конечной цели — установить экран в место где была пневма, которая мне уже не нужна.
Первая версия в приборной панели работала так же как и в часах через блютуз с ELM327, но в этом много минусов:
— после включения зажигания приходится ждать около 20сек. пока блютуз подключится к ELM и пойдут данные;
— низкая частота обновления параметров (для температур не критично);
— периодически выходили не корректные данные.
В итоге реализовал прием параметров напрямую с CAN шины.
Понадобится:
1. Arduino Nano V 3.0 — 380р.
2. Цветной IPS TFT дисплей на ST7735 SPI с разрешением 128*160 1.8" — 670р.
3. MCP2515 модуль шины CAN — 523р.
4. Разъем диагностический (кабель) OBD-2 — 350р.
Фото как расположен экран внутри приборки не делал, но сделал я так: разобрал полностью приборную панель (со снятием стрелок), гравером подрезал немного корпус приборки и установил дисплей, прихватив его термоклеем. Собственно ничего сложного. Контроллер arduino-nano и модуль шины CAN mcp2515 установил внутри приборной панели (приклеил на 2-х сторонний скотч к плате), места там достаточно.
Схема подключения:

Всего я сделал 3 экрана. На первом экране — температура АКПП и температура ОЖ двигателя, на втором — коррекции по топливу, на третьем — скорость, обороты двигателя, температура на впуске, массовый расход воздуха. При желании можно сделать сколько угодно экранов с другими параметрами. Переключение осуществляется кнопками "Вперед" и "Назад", взял их с руля, у меня они не использовались:

Настройка:
Итоговый результат:




Обновление параметров по CAN шине происходит очень быстро, никаких не корректных данных не летит как это было через блютус, параметры появляются фактически мгновенно после включения зажигания. Теперь я полностью доволен.
PS: данный вариант (с CAN шиной) 100% работоспособен с рестом (RX350, Harrier GSU35), у дорестов RX300/330 по всей видимости работает по k-line. С k-line тоже можно работать напрямую в ардуино, есть примеры, но это надо делать, пробовать… Позже дополню запись схемой и кодом программы как подключаться через ELM по блютуз, как в первой части с часами. Там уже без разницы рест или дорест, но надо будет индивидуально подстраивать код программы под конкретный ELM327.
PS2: дополняю схемой и программным кодом контроллера, вариант работы через блютуз c ELM327. С этим вариантом могут работать доресты (300/330). Надо в коде поменять 6 на 5 вот тут:

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

Комментарии 40
Моё вам уважение. Это гениально! Но я читая ваш пост сразу же подумал, а зачем подсоединяться к кан шине, если этот проект построен на ардуино, то можно же просто вывести цифровые датчики температуры на поддон двигатела и на трубку АКПП и на трубку охлаждайки. Много идей даёт ардуино. Вы молодец. Допустим, если я не ошибаюсь у вас стоит доп радиатор на ATF АКПП, вот можно вывести датчики на выходе из АКПП и на входе. Задать допустим критические параметры. Поставить пищалку, которая будет пищать при таких параметрах. Или допустим включения доп вентиляторов. Идей миллион. А как вы реализовали установку на приборной панели, вот про это жалко, что ничего не написали, и фото было бы интересно посмотреть. Снимаю шляпу перед вами.
Смотрите следующую запись в БЖ) там показал как в приборную панель встраивал. А на счёт датчиков температуры, то зачем что то колхозить если можно взять из штатной системы. Можно разве что поставить датчик давления масла дополнительно.
Это великолепно!
Интересно на более свежей тоёте заработает?!
Смотря на какой… А вообще все параметры кроме круиза и температуры акпп у всех одинаковые на obd2.
PS: На более свежей тойоте, гораздо больше возможностей по кан шине)
Я немного далек от темы КАНа. Если кан с "воротами" это может создать какую то проблему в считывание информации данным устройством?
Или в формате запрос/ответ нет разницы, в наличии Gateway на кане.(или устройство работате в режиме "слушатель")
З.Ы. нам много то не надо. Этих данных которые вы вывели первоначально за глаза.
Что значит кан с воротами?
Сегментация CAN шины по функциональному назначению
Как правило разные, сегменты сети разделены специальным устройством, которое называется Гейтвей (Gateway, ZGW, ETACS, ICU)
Gateway — шлюз/ворота)))
Я в запросах использую только общий id. Аналогично как это делает elm327
Благодарю за ответы 🖖
Правильнее сказать, я использую широковещательные запросы в шину, аналогично elm327.
Ну попробую на вензе запустить, если получиться, получиться. Нет, буду думать.
Запустится, скорее всего и круиз так же реализован. А вот запрос на акпп может отличаться и надо будет пробовать другой запрос и вносить корректировки. Но опять же все возможные запросы для тоеты известны.
Roadk1ll
Ну попробую на вензе запустить, если получиться, получиться. Нет, буду думать.
Если вы из Тюмени, я помогу, без проблем)
Да, из нее родимой. Хорошо, буду иметь ввиду)) 🖖
Я 15.12 приеду в Тюмень, можно будет встретиться, я подключу свою тестовую и посмотрим, что идёт…
Спасибо за предложение. Давайте попробуем, где можем встретиться?
Напишите в личку…
Красавчик 👍
Здравствуйте, восхищен! Подскажите пожалуйста как настраивать, и как допустим вывести на монитор температуру за бортом?
Добрый день, Спасибо!
Настройка будет зависеть от конкретного ELM, в каком формате он передает данные в ардуино, на разных ELM нужные нам параметры могут находиться в разных регистрах и надо будет смотреть ответ на соответствующий запрос и менять код. Это одно из причин почему я отказался от ELM.
Вывести температуру за бортом похоже нельзя (еще попробую изучить вопрос), т.к. она берется с блока климата, а он вроде как не на CAN шине (еще буду изучать)…
Это пожалуй лучшее, что я видел за 6 лет владения Лексусом. Если б у меня сейчас был бы Лёха, я б за любые деньги выклянчил бы эту поделку себе на машину. Снимаю шляпу, профессор! 👍
Спасибо!
Вааабще Красавчик!
Круто. На другие машины можно сделать температуру вывести двигателя и коробки ?
Температура двигателя вроде 99% у всех такой же pid. Температура акпп может быть другой pid
О, действительно полезно!
Часы ориса в миниатюре)))
Правильно ли я понял, что собрав "конструкцию" по схеме, что вы отобразили, на монитор можно выводить показания параметров авто?
Правильно. Только код ещё загрузить в контроллер надо.
А как и какой?)))
У меня такая же приборка с пневмо. И пневмо нет.
Я чуть позже скетч скину, забыл.
Ну ё-моё! Я еще музыку не успел доделать а тут такое
Добрый вечер. Проект очень интересный. Реализовано классно.
Возникли вопросы. Реально ли повторить на rx300. У нас, вроде, нет каншины.
Возможно ли вывести показания со сторонних устройств. К примеру: альтернативный модуль управления пневмоподвеской или бустконтроллер.
Спасибо
Я не могу сказать как именно на RX300/330, может там и по k-line связь ещё, но на 350 по кан шине. Прикрепил скрин какой протокол используется, проверьте у себя.
Можно что угодно вывести на экран, надо изучать, пробовать…
Artful85
Я не могу сказать как именно на RX300/330, может там и по k-line связь ещё, но на 350 по кан шине. Прикрепил скрин какой протокол используется, проверьте у себя.
Можно что угодно вывести на экран, надо изучать, пробовать…
Это 330тый
На k-line похоже. Можно через elm327 сделать.
получается в схеме где-то должен появиться елм? Тогда нужен какой-то андроид, что бы как-то выдал информацию на дисплей? Или как-то проще
Elm должен будет вставлен в obd. Андроида не надо. Все будет идти через ардуино, как я описывал в первой части, с часами.
wladsedow
получается в схеме где-то должен появиться елм? Тогда нужен какой-то андроид, что бы как-то выдал информацию на дисплей? Или как-то проще
Обновил запись. Добавил схему работы через блютуз.