Задумал модернизацию штатных часов на Hyundai Sonate EF (Соната Тагаз),
Штатный номер часов 95900 3С000 производитель DONG SUN
Требования к часам: (Может дополняться)
1.Формат вывода ЧЧ:ММ
1.1 Часы не должны сбрасываться при отключении питания (в т.ч. снятие аккумулятора).
1.2 Доп формат в виде ЧЧ:MM.ss
1.3 Есть возможность вывод даты (надо ли ?)
2. Вывод бортового напряжения.
2.1. Задание пределов допустимого напряжения и вывод на экран в случае выхода за пределы.
3. Вывод внешней температуры. (Есть датчик внутренней температуры, в часах, можно использовать как датчик температуры салона, кроме того слегка врет.. +/- 2с). По спецификации шины на 1 разьем можно навесить до 10 датчиков. Есть варианты врезки в патрубки, для получения температуры в динамике любой среды. (воздух, тосол, гур, АКПП и прочее) Надо ли ?
4. Ведение счетчика моточасов. (моточасы считаются только при заведенном двигателе, контроль запуска двигателя по напряжению в бортовой сети). 9 счетчиков (многовато ?) 9 не сбрасываемый. (наработка двигателя).
Можно прописать таймер с ручным включением/выключением.
x.x подключение задних (самодельных) парктроников
x.x+1 управление антенной (электронный вкл/выкл, что бы не ставить доп. кнопку)
x.x.+2 управление подогревом сидений (жаба давит отдавать такие деньги за панельку и кнопки)
??? Ваши варианты, пусть даже самые фантастические...
Всякие дополнительные бонусы приветствуются. (
Вскрыв штатные часы – понял что данные потроха использовать не получиться.
Итак я использовал:
1. Arduino Nano 328. 5v 16 Mhz (32 кб Озу, 2 кб под данные, 30 кб под код).
2. Модуль часов реального времени на DS3231 (шина i2c, бонусом 32К памяти на AT24C32, встроенный температурный датчик)
3. Батарейка CR2023
4. Детектор напряжения DC B25 ( диапазон DC 0-25v)
5. Экран ЖК 0.91 дюйм , разрешение 128x32 точки (шина i2c, голубое свечение)
6. Универсальный понижающий трансформатор DC-DC 4.5-24 до 5в.
7. Термометр выносной влагозащищенный DS18B20 (шина 1 OneWire)
8. 3 кнопки (микро)
9. 2 монтажные платы 4x 6 см
10. 9 провода подготовленный для монтажа
11. Термоусадка разных цветов.
12. Разъем мама/папа для подключения внешнего термодатчика
13. Клеевой пистолет "Кошачьи сопли"
Важные замечания:
Модуль часов без батарейки не включать !
Время опроса термодатчика ~ 750 м.с.
Ну собственно вот такое начало.
1. Подготовка плат - надфилем. Как и в оригинальных часах решил оставить 2 платы. Время от времени произвожу примерку на месте.
Примерно вот такие должны быть платы.
Примерка платы 1
Примерка плат
2. Решил начать с подгонки клавиатуры. Так как нужных (по высоте) кнопок не было, решил взять какие есть, а лишнее сточить надфилем.
Так делать не надо, 2 из 3 кнопок перестали работать (видимо что то ломается или забивается пылью).
В итоге поехал в магазин и купил подходящие.
Мне подошли крайняя правая модель кнопок.
Общий вид клавиатуры: (левая кнопка - пиленная )
В результате кнопки стали очень чувствительные.
Логика работы кнопок - замыкание на землю.
3. Сборка задней платы.
Выпаиваем из оригинальных часов контакты, примеряем и впаиваем их на свою плату. Мне нужно 2 контакта +12в при включении зажигания (на оригинальных часах контакт А) и Земля GND (на оригинальных часах контакт Е)
Сначала все хорошо примеряем - потом впаиваем.
Также на задней плате (со стороны раъзема питания) размещаются: понижающий трансформатор до 5 в, и вольтметр.
Контакты впаиваются, все остальное приклеено на кошачьи сопли.
Предвижу критику по качеству пайки... буду краток: как умею - так и паяю.
Общий вид задней платы:
На этом пока остановимся, перейдем к тестовому стенду.
Алгоритмы работы.
Кнопки H и M - отрабатывают только нажатие
Кнопка R - отрабатывает одиночное нажатие и удержание
Режим 0 - на экран выводится время в формате ЧЧ:ММ.ss - обновление экрана 1 сек.
Кнопка H - увеличение часов
Кнопка М - увеличение минут
удержание R - сброс сек на 0
нажатие R - переход на режим 1
Режим 1 - на экран выводится время в формате ЧЧ:ММ (мигает двоеточие)
Кнопка H - увеличение часов
Кнопка М - увеличение минут
удержание R - не отрабатывается
нажатие R - переход на режим 2
Режим 2 - на экран выводится напряжение бортовой сети автомобиля. В данном случае показывает напряжение USB
Кнопка H - Переход в режим установки нижнего порога напряжения в сети (SubMode 1) (только увеличение +0.1)
R- фиксация и выход из подрежима (Mode 2 Sub 1 >> Mode 2 Sub 0)
Кнопка М - Переход в режим установки верхнего порога напряжения в сети (SubMode 2) (только увеличение +0.1)
R- фиксация и выход из режима (Mode 2 Sub 2 >> Mode 2 Sub 0)
Нажатие R - переход в режим 3
Удержание R - переход в режим 1
Режим 3 - градусник
нажатие R - переход в мото часы, удержание R переход в режим 1
Остальные кнопки не обрабатываются
Режим 4-12 режим счетчика моточасов
Обыкновенный таймер, "идет" только если напряжение в сети выше заданного значения.. (какого ?).
Можно установить порог, по достижении которого будет выводиться инфа на экран.
00001 - количество моточасов с последнего сброса (при снятом аккумуляторе данные не теряются)
маленькая 1 - номер счетчика моточасов, всего счетчиков 9. Счетчик № 9 нельзя скинуть на 0 стандартными методами. (общая наработка двигателя)
На сегодня все (06.06.2018), на пару дней уезжаю в командировку. Буду оттачивать софт.
Жду коментов, предложений,замечаний