Требуется разработать программу управления часами на газоразрядных индикаторах с динамической индикацией.
Микроконтроллер STM32F103C8T6 + RTC DS3231SN
Функционал:
Отображение времени
Отображение даты
Будильник
Установка времени/даты/будильника
Настройка громкости будильника
Настройка механического эффекта хода часов
Настройка отображения времени/даты (12/24 часа, ДД.ММ.ГГГГ или ММ.ДД.ГГГГ и т.п.)
Настройка перехода на летнее/зимнее время
Настройка интервала показа даты
Настойка яркости свечения цифр и подсветки (дневной/ночной режим)
Настройка режимов работы разделителей
Настройка эффекта подсветки для дневного/ночного режима (фиксированный цвет, плавный перелив, спецэффект)
Режим антиотравления ламп (перебор всех цифр в индикаторах)
Коррекция хода часов
Настройка и сохранения системных параметров.
Сброс настроек к заводским
Технические характеристики часов:
Динамическая индикация. Эффекты смены цифр (Fade, CrossFade, Перебор всех цифр за 1 сек, без эффекта)
4(6) газоразрядных индикатора типа ИН1/ИН4/ИН12/ИН14/ИН18
2(4) разделительных точки
Динамическая подсветка на базе 8(12) адресуемых светодиодов SK6812
Зуммер (пищалка)
Электромеханическое реле для имитации хода часов
3 тактовых кнопки для управления и настройки
Управление часами осуществляется 3-я кнопками. Необходимо распознавать короткое, среднее и длинное нажатие.
Электронная часть разработана и функционирует.
Высокое напряжение формируется средствами ШИМ МК.
Более подробный алгоритм работы часов вышлю по запросу.
По результатам работы требуется предоставить исходные коды с комментариями и скомпилированные файлы в форматах hex и bin для записи в МК.
Ориентировочный бюджет 15000 рублей.