Ленивое раздумье над задачей "многофункционалок" (лампочки-кнопочки)...
Небольшая ретроспектива на старую тему «древнечасеек» К145ИК1901на адуринке...
Уже с несколько более «прикладным» уклоном.
https://img.radiokot.ru/files/20529/33uv3d243f.GIF
Основа та же — нанка (в макетной тестировке) или про-мини (в реальной конструкции),
платка зарядно-питающего с литиевым аккумулятором и платка ардуиньего модуля с DS3231 и 24С32 «на борту»
Остальное по схемке тест-макета — пока ограничено примитивными светиками и пьезопищалкой.
В качестве индикатора пришлось взять 10 позиционный 7-сегментник ЖКИ от кассовых аппаратов на NJU6432. Удобен такой индикатор по причине внутренней схемки коррекции контраста в довольно широком диапазоне питающих напряжений.
https://img.radiokot.ru/files/20529/33uv9j69xm.jpg
https://img.radiokot.ru/files/20529/33uv99g7r4.jpg
Можно в принципе и любой иной 10-позиционник (к примеру тот же МЭЛТовский МТ10Т7-7 при соответствующем драйвере вывода). Для ранее используемого 8-позиционника на светодиодных 7-сегментниках и MAX7219 придется корректировать размещение информации на «урезанном» дисплее.
Можно конечно и символьный двустрочник и иные ЖКИ поставить - но тогда питание тяготеет к 5 вольтам и стационарному размещению самоделки, что не так интересно-полезно...
Собственно из-за ЖАБЫ и проблема — у 7-сегментников плоховато с возможными символами «кракозябр» в случае интерактивного управления при помощи пиктограмм и курсора выборки пиктограммы. Но ужшш ЖАБА есть ЖАБА...
Программа также заметно изменена в пользу более простого подключения собственнолапно написанных модулей «устройств» по сравнению с ранее выполненными вариантами.
Пока что выкладываю ядро и всего один прикладной device(устройство) — секундомер для ознакомления и понимания принципа простейшего варианта передачи управления между устройствами.
Собственно главного меню нет (опять же из-за нудоты с символьной индикацией).
Вместо него простейшее управление имеющимся набором кнопок, более удобное на практике.
Исходно запуск панели индикации главных часов (пока без настроек параметров и преднастроек RTC по первому включению, контроля длительности нажатия и прочих «служебок» - но с заранее заложенными для них параметрами).
Три кнопки заложены под прямое переключение на выбранные устройства (секундомер, таймер обратного отсчета и?..?.) одна , как и ранее для коммутации светиков и одна для перехода в субменю настроек параметров главных часов (в тестовом варианте реализован пока что только секундомер). Глубина субменю ограничена двумя уровнями для главных часов и одним для других «устройств» (которые сами являются вариантом первого уровня субменю). При необходимости глубину вложений (как и количество комбинаций кнопок) можно увеличить.
Продолжение ленивописания прожки да изготовления реальной железяки будет по мере наличия настроения и отсутствия нападений ЛЕНИ....
В архивчике исходник с «выпотрошенными» в основную папку библиотеками, дабы их не искать и не заморачиваться с размещением, хотя при том конечно окно редактора IDE весьма перегружено излишним. В реальном варианте практически все вспомогательные файлы после их написания и проверки убираются в свои папки для последующего сброса в каталог библиотек IDE.
