Часы на базе микроконтроллера ch32v003 (часть 2)
Эта статья, продолжение статьи часть 1. Как правильно в ней заметил @mozg37 в комментариях, RC генератор не обеспечивает достаточной точности хода часов. Благо на aliexpress можно заказать готовую плату nanoCH32V003 с кварцем на борту. В итоге получилось немного модернизировать плату и собрать проект в корпусе, распечатав его.

Корпус нарисовал в FreeCad вспомнив, что я когда-то все же на инженера учился. Сама моделька лежит тут Clock6.FCStd и готовый нарезанный на слои проект тут box_body.stl. Чуть позже выложу крышку, пока еще не нарисовал.

Как видно на картинке сверху мне удалось спалить схему по преобразованию 3,7в → 5в. В итоге в готовое устройство попала только схема зарядки li-pol аккумулятора. На плате микроконтроллера снял предохранитель и в разрез подключил схему зарядки аккумулятора. Индикатор и зуммер тоже подключил к аккумулятору, позже планирую добавить предохранитель, либо схему защиты. Хотя в аккумуляторе уже есть схема защиты, её же должно хватить?
На плате микроконтроллера есть линейный стабилизатор на 3,3в, при напряжении ниже 3,3в на микроконтроллер подается ниже 3,3в. Сам микроконтроллер работает до 2,7в, потом уходит в защиту, судя по документации. Фатального разряда аккумулятора по идее не должно случится. В режиме ниже 3,3в продолжают работать только контроллер и зуммер, чип индикатора выключается, т.к. рассчитан на работу от 3,3–5в.
Индикатор подсоединил к Port D линии 2 (clk) и 3 (dio), на плате к 6 линии подсоединен светодиод. Первая линяя порта используется для отладчика, а 7 занята кнопкой сброса. К 0 линии подсоединил схему зуммера.
На Port C на линии 0–4 подсоединил кнопки, в исходниках программы можно посмотреть какая кнопка куда подсоединена. Почитал про энкодер, советовали в комментариях, но что-то пока решил оставить кнопки.
И собственно вопрос к профессионалам, как повысить отзывчивость на нажатие кнопок? Я понимаю, что существует дребезг контактов и логично сканировать кнопки за время большее этого дребезга контактов. Однако по нажатию нужно также успеть на индикаторе перерисовать показания. На саму плату с TM1637 на CLK & DIO напаяли огромные конденсаторы от помех, в итоге он работает не очень быстро, как бы мог в оригинале.