Всем привет. Я тут постоянный читатель, но вот почти ничего не выкладываю. Этим проектом решил поделиться, так как возможно кому-то пригодиться. основная моя цель была выводить на штатный дисплей автомобиля данные расстояния с парктроника. Был преобретен вот такой.
К дисплею парктроника идёт три провода. Два из них-питание, третий для передачи данных с датчиков парктроника Подцепившись осциллографом к линии данных увидел сигнал следующего типа.
Для работы был написан скетч на ардуино для вывода этих данных в бинарном виде (на данном этапе все датчики отключены)
Видно чтопоследние 8 бит это расстояние, а 7 и 8 бит первого байта это сигнал с разных тачиков. Далее идёт обработка сигнала с одного датчика и вывод его на дисплей. Отказалось что точность датчика очень даже ничего. Мерял линейкой, и погрешность в пару миллиметров, но сама градация измерения около 3-4 мм. Выводил на символтный дисплей для проверки одного датчика.
Потом я начал переписывать прошивку под работу всех четырёх датчиков, а также визуализацию расстояния в виде стрелочек. Вот так это все выглядит.
Честно говоря очень долго над этим бился, так как забыл учесть что когда датчик включён он посылает вот такой импульс 10001000, а когда выключен, и на нем есть какое то препятствие, то 10000000 (хотя может наоборот, не помню уже) а прошивка была настроена только под работающие датчики, и в итоге выборка минимального расстояния искажалась. Для того что бы передать эти данные в на дисплей в машине надо было в первую очередь узнать каким именно способом отправляются данные на дисплей автомобилем. Начал слушать шину дисплея через can hacker.
Опытным путем выяснял, что за текст на дисплее отвечают id 28f, 299 и 291. Поигравшись с прогой, удалось вывести на экран текст.
Загвоздка была в том, что если просто передавать значения по этим трём id, то дисплей не работал корректно. Надо было именно фильтровать данные, и заменять их в необходимый момент, но хоть он и тормозил, удалось сделать задуманное. На видео видно как он притормаживает.
Итак дальше начал изучать как заменять только нужные пакеты на свои. Обращаем внимание сюда.
Это идёт тестовый поток данных с кан шины.
Тут уже значения изменились, значит все удалось. Далее сделал схему и плату.
Получилась вот такая двусторонняя.
Так же сделал место для бипера (но пока его не ставил, а так же не писал прошивку для него). Естественно для быстрого соеденения сделал разъёмы, которые позволяют добавить или удалить мою плату.
Ну а дальше тест.
Ну окончательная интеграция в автомобиль.
Сам скетч выложу чуть позже, когда допилю прошивку под бипер.