В данной статье описываются часы на микроконтроллере ATMega48PA со светодиодными индикаторами и множеством функций:
Часы представляют собой прямоугольный бокс и подставку, сделанные из пластика (поливинилхлорид). Все части корпуса вырезаны ножом и склеены секундным клеем. На передней части корпуса располагается тёмный светофильтр, отсеивающий часть красного света от индикаторов. На подставке располагаются три сенсорных кнопки. Каждая кнопка – это круг небольшого диаметра, вырезанный из медной фольги и приклеенный к основе клеем. На задней стороне располагаются: разъем для подключения адаптера питания и внешних устройств, и звуковое отверстие динамика. Сверху расположен фотоэлемент, реагирующий на изменение освещения. Индикаторами в часах являются семи сегментные светодиодные индикаторы, с типом подключения: общий катод. Всего в часах четыре индикатора, то есть одновременно можно выводить четыре цифры с дополнительными точками внизу. Часы работают от сетевого адаптера с выходным напряжением 5 вольт и минимальной силой тока не менее 150 мА.
При первом включении часы необходимо настроить. Для этого нужно нажать и держать 2 секунды среднюю кнопку (далее СК), часы перейдут в режим настройки. Затем необходимо настроить текущий час левой и правой кнопками (далее ЛК и ПК соответственно) и нажать СК. Так же нужно настроить минуты. Затем таким же образом нужно будет настроить текущий день и нажать СК (далее во всех дополнительных режимах будет использоваться такая же настройка цифр). Часы перейдут в главный режим ЧЧ:ММ (режим 0), то есть на индикаторах отображаются часы и минуты. Однократным нажатием на СК можно перейти в режим ММ:СС (режим 1) и обратно. Если в режиме 0 нажать на ЛК, то часы войдут в режим будильника. После настройки времени сигнала нужно нажать и держать 2 секунды ПК или ЛК. В назначенное время включится тоновый сигнал с частотой около 700 Гц, через 10 секунд сигнал выключится, и будильник автоматически деактивируется. Если в режиме 0 нажать ПК, то часы войдут в режим таймера. По умолчанию, таймер установлен на 5 минут. После настройки времени следует нажать и держать 2 секунды ПК или ЛК и таймер активируется. По истечении времени, так же, как и в случае с будильником, прозвенит тоновый сигнал и отключится через 10 секунд. Если в режиме 1 нажать ПК, то часы перейдут в режим секундомера. Нажатием ЛК секундомер запускается или останавливается, нажатием ПК секундомер сбрасывается. Если в режиме 1 нажать ЛК, то часы перейдут в режим даты, на индикаторах появится текущий день года. Для выхода из этого режима можно нажать любую кнопку. Также, из дополнительных режимов можно перейти в главный режим нажатием СК. Так как все дополнительные режимы являются параллельными, можно установить будильник, поставить таймер и запустить секундомер одновременно.
Яркость индикаторов меняется в зависимости от освещения, днем часы светят ярко, ночью тускло. Всего несколько градаций яркости, которые вычисляются на основе показаний фотодатчика.
В часах присутствует интерфейс UART, с помощью которого каждую минуту на внешние устройства (если таковые имеются) посылается 2 байта: байт часов с выставленным восьмым битом (например, если 15 часов, то байт равен 15+128=143), и байт минут. Восьмой бит при передачи часов используется для того, чтобы внешние устройства могли сразу определить, передается байт часов или байт минут. Можно подключать другие устройства на AVR и получать в них текущее время по UART.
Каждую полночь (при переходе от 23:59 к 00:00) на индикаторах воспроизводится простая анимация в виде поочередной прорисовки нулей, после чего часы продолжают работать в штатном режиме.
Фьюз-биты:
В прикрепленном файле: проект в Proteus, прошивка, исходник, печатная плата в SLayout.
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
MCU1
МК AVR 8-битATmega48PA-AU1
VT1-VT4
Биполярный транзисторКТ3130А94
VT5-VT12
ТранзисторКТ218А8
C1
Электролитический конденсатор1000мкф 6.3в1
C2, C3
Конденсатор20 пф2
R1
Резистор200 Ом1
R3-R5
Резистор1 МОм3
R6-R17
Резистор390 Ом12
R18
Резистор150 Ом1
R19-R25
Резистор68 Ом7
R2, R26
Резистор10 кОм2
R27
Резистор470 Ом1
LDR1
Фоторезистор1-50 кОм1
Z1
Кварц8МГц1
LS1
Динамик1
любой маломощныйsp1-sp3
Сенсорная площадка3
площадки из фольгиInd1-Ind4
7-сегментный индикаторSC10-21SRWA4
любой подходящий с общим катодомДобавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- clock(1).rar (83 Кб)