Завершення проекту, розпочатого тут.
Власне минулий пост зупинився на етапі готового прототипу та розробки друкованої плати, так як ліпити той бутерброд із модулів бажання не було. 3 тижні очікування і плати у мене
Отже одразу беру паяльник та розпаюю компоненти. Атмега328, кварц та обв'язка МК нові, решту взяв з донора модуля реального часу. Півгодини з паяльником і от такий результат
Тут я зрозумів що плату можна було зробити набагато меншу, але вже що маємо, задоволений і так.
Поки мені їхали ці плати я вже придумав собі новий квест, в саме здихатися від сенсорних кнопок налаштування часу, бо вони глючні, бувають фантомні спрацьовування. Замінити вирішив на ІЧ пульт, тим паче що можливостей більше. На моє щастя я виводив 2 цифрові піни для кнопок, від яких відмовився, тож мені не довелося нічого переробляти, ну майже) при пошуках бібліотеки для ІЧ пульта я побачив що максимально добре ліба працює якщо використовувати інтерапти, які на атмезі 328 доступні лише на 2х ц фрових пінах, а саме 2 і 3. Пощастило що сабдісплей висів на 3. От це довелося переробити, чисто переставити пін на проводці яку я робив, а в 3 пін підключився ІЧ датчик.
Також мені захотілося спробувати попрацювати з енергозалежною пам'яттю (EEPROM), зробив 3 варіанти тексту для відображення на дисплеї, які вмикаються цифрами від 1 до 3 на пульті та вимикається якщо натиснути 0, вибір записується в е2пром і при новому старті знає що треба відображати.
Після зборки протестував все на столі, так само як розробляв, все працювало як треба, тож сьогодні пішов ставити в авто, будучі впевненим що все буде добре, а тут зазь. При підключенні годинник працював, а от температура не відображалась. Включив дебаг, побачив що пакет трохи інший, саме в тому місці, яке визначало чи треба показувати температуру. Закоментував, прошив - працює, але температура тепер відображається і при вимкненому кліматі. Але на щастя і мене вже достатньо досвіду, щоб чисто по меседжам зрозуміти що треба поправити. А також був баг, температура водія відображалася у секції пасажира і навпаки. Цей баг я не міг помітити раніше, бо на столі клімат не давав увімкнути режим Dual. Це швидко виправив переставившм місцями виклик функції.
Залишився останній квест - вивести ІЧ датчик. Спочатку думав розмістити його у повітрепоовід, але відмовився від ідеї, бо потрібно було би різати його, а до цього ще і постійні перепади температур. Подумавши куди б його розмістити прийшла ідея, а чому б не в саб дісплей. Прикинув, місце є, скло тоноване, його не буде видно (майже), тож почав реалізовувати.
Тепер лишилося лише тестити, поки політ нормальний, нових багів не виявив. Можливо їх більше і не буде)
Я дуже здивувався що у мене вийшло з 1 разу, що не довелося переробляти плату і перезамовляти і що навіть не довелося якось колхозити на платі. Для модуля реального часу замість батарейки поставив акумулятор LIR2032 а також зробив зарядку цього акума коли авто використовується. Нижче буде відео демонстрація фінального вигляду.
Відео на ютубі:
Source code, схема, перелік матерілів та файли для замовлення дукованих плат на гіті - https://github.com/uns8t3d/honda_accord7_serial_reader_and_subdisplay
На останок, я переконався остаточно що це рішення не універсальне, навіть у мене була невелика різниця на одному й тому ж канбасі (плати трохи різні), тож інші виробники будуть 100% інші, якщо є бажаючі повторити - доведеться займатися реверс інженерингом.