Як і обіцяв - роблю проект відкритим.
Посилання на репозиторій зі всіма необхідними файлами на GitHub.
Що знадобиться:
- Магнітола, в якій є CAN BUS: DaoJun - Honda - Accord 7 - High (з іншим канбасом працювати навряд буде, бо потрібно буде знову реверс інженерити як все працює, в цілому хто захоче - зробить, але я раджу магнітолу де є такий канбус)
- Паяльник та вміння паяти
- Плата (є в репозиторії в файлі pcb/Accord7NaviAndroidClimateCan_v2.zip)
- Набір різних компонентів (є в репозторії в файлі pcb/bill_of_materials.xlsx)
- Схема для розуміння що куди паяти, теж є в репозиторії в файлі pcb/schema.png
- ІЧ приймач та пульт (опціонально, приклад як можна розмістити був у цьому дописі)
- TinyRTC модуль на донора (або замовити всі компоненти згідно з файлом комплктуючих)
- Сабдісплей, якщо його ще не було (без нього не буде зрозуміло яка температура вибрана)
В цілому плата доволі продумана і дозволяє поставити все без розрізання жодного проводку автомобіля. Живлення можна взяти як з проводки магнітоли (та що приходить з китайською), або зробити кросс роз'єм на маленьку фішку клімату і взяти звідти (кращій варіант, бо там є кан).
Якщо в машині вже стоїть наві та є сабдісплей то його можна підключити штатною проводкою, але треба буде впаяти вертикальни 10 піновий роз'єм стежачи за розпіновкою.
Підсвітку кнопок мінус треба знайти десь в авто і прокинути на плату, я просто допінував китайський перехідник і взяв - підсвітки від штатної фішки магнітоли. Якщо взяти мінус де інде то не буде праювати регулювання яскравості.
По коду:
Фактично є 3 модулі та головний цикл. Маємо такі модулі:
- Android - відповідає за взаємодію з андроїдом, а саме реагує на натискання перемикання режимів, швидкості вентилятору та ввімкнення кондиціонеру (те, що було на штатній наві)
- Navi - читає команди від клімату наві, визначає чи ввімкнно клімат, яка температура у водія та пасажира, а також надсилає команди для перемикання режимів, вентиляторів тощо. За код дякую @ifynk
- Subdisplay - модуль, який відповідаж за відмальовування саб дисплею, довльний текст, час, температури. За код також дякую @ifynk
- main - основний цикл, який збирає все до купи. Читає та виводить час із RTC, опрацьовує команди від ІЧ пульта, читає інофрмацію з клімата та виводить її на сабдісплей, надсилає команди клімату від андроїда, в подальшому буде ще взаємодія з кан шиною
По рамці:
В цілому існує багато варіантів:
- робити свою рамку, я зробив я (рівень складності SUPERMEGADUPEREXTRAHARD)
- шукати 7 дюймову магнітолу і думати як вкорячити її замість модулю екрану наві, попутньо викидаючі все зайве
- купити максимально наближну рамку на аліку під 9 дюймів, візуально навіть плата клімата встане, але це не точно. Проте завжди можна намалювати плату яка встане. Посилання на рамку, потрібна рамка це A mod 9 inch
- придумати щось своє
Корисні посилання:
Роз'єм тато 10 піновий
Роз'єм тато 10 піновий прямий для пдключення штатного сабдісплея
Роз'єм мама 10 піновий
Мультиплексор MC14066B
Роз'єм мама-тато 16 піновий для крос роз'єму клімата
ATMEGA 328P
CAN трансівер MCP2515
CAN модуль AU5790D
TinyRTC
ІЧ пульт та приймач
Наче розповів все, що хотів. Якщо щось згадаю оновлю запис.

Фото для привертання уваги та обкладинки))
Окрема та особлива подяка @ifynk за надану наві, допомогу, код, та дозвіл зробити проект публіним.
Опубліковано: 15 жовтня 2024р. 15:55
Діоди на наві пульті також перепаював)?