Часы собранные на микроконтроллере ATtiny2313 и светодиодной матрице показывают время в 6-ти различных режимах.

Светодиодная матрица 8*8 управляется методом мультиплексирования. Токоограничивающие резисторы исключены из схемы, чтобы не испортить дизайн, и, поскольку отдельные светодиоды управляются не постоянно, они не будут повреждены.

Для управления используется только одна кнопка, длительное нажатие кнопки(нажатие и удержание) для поворота меню и обычное нажатие кнопки для выбора меню.

Это хобби-проект, потому точность хода часов зависит лишь от калибровки внутреннего генератора контроллера. Я не использовал кварц в этом проекте, так как он занимал бы два нужных мне вывода ATtiny2313. Кварц может быть использован для повышения точности в альтернативном проекте (печатной плате).

Режимы отображения

Режим ЧЧ:ММ, прокрутка часов и минут, разделенными двоеточием.
Режим секунд, индикация только секунд.
Режим TIX, светодиодная матрица разделена на квадранты, верхние квадранты показывают часы в кодировке BCD (двоично десятичное кодирование). Они представлены количеством точек для обозначения цифр. Нижние квадранты показывают минуты в BCD. Для 9:36 в верхней половине 0 точек + 9 точек и 3 точки + 6 точек в нижней половине.
Режим игры в кости, светодиодная матрица разделена на два набора «кубиков». Верхняя пара, показывает часы от 1 до 12, нижняя пара игральных костей показывает минуты с шагом 5 минут. Для 9:45 кости отобразят 9 (верхний) + 9 (нижний) (9*5=45 мин).
Двоичный режим, часы, минуты и секунды отображаются в двоичном виде в разных строках светодиодной матрицы. Строки 0 и 1 (сверху) часы, строка 2 - пустая, строки 3 и 4 - минуты, строка 5 - пустая, строки 6 и 7 - секунды.
Спящий режим используется чтобы продлить срок службы батареи, но из-за этого точность хода часов снижается. Сторожевой таймер 8 раз в секунду будит систему, чтобы обновить ход времени и определить нажата ли кнопка.

Схема устройства


ATtiny2313 работает на частоте 1 МГц, для этого нужно использовать следующие настройки битов конфигурации:

lfuse: 0x64
hfuse: 0xdf
efuse: 0xff

Яркость светодиодов для каждой строки регулируется программно, путем изменения продолжительности включения и выключения светодиодов в строке. Например строка с включенными 8-ю светодиодами остается гореть дольше за некоторый промежуток времени, чтобы светодиоды выглядели такими же яркими, как те строки, в которых включены только один или два светодиода.

Видео работы устройства


Файлы к статье "Часы на ATtiny2313 и светодиодной матрице 8*8"
Описание:

Исходный код(Си), файлы прошивок микроконтроллера для матриц 788ASR и 1088AS

Размер файла: 9.77 KB Количество загрузок: 278 Скачать