Часы – календарь

Часы – календарь

Предлагаемое устройство разработано для замены различного рода бумажных настенных и настольных календарей. Их основной недостаток состоит в том, что "движок" календаря необходимо каждый, день переставлять (или переворачивать страницу). Делать это частенько забывают.

Данные электронные часы — календарь показывают не только время в часах и минутах, но и дату (число, месяц, год). Возможен одновременный вывод времени и даты (часы, минуты, день, месяц), А при наличии датчика температуры – ее текущего значения (со знаком) одновременно с днем и месяцем. Имеется также специальный режим, в котором постоянно отображаются лишь день и месяц, а год, время и температура поочередно сменяются на индикаторе.

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

Сердце схемы – микроконтроллер ATmega16 (DD1). Он сравнительно дешев, отличается низким энергопотреблением в "спящем" режиме, имеет встроенные часы реального времени и достаточное число выводов для подключения светодиодных индикаторов. Тактовая частота микроконтроллера задана кварцевым резонатором ZQ1. "Часовой" резонатор ZQ2 на 32768 Гц необходим для работы часов реального времени, от его качества зависит точность их хода.

На вход PD2 микроконтроллера подано выходное напряжение интегрального стабилизатора DA1. Это сделано для контроля наличия этого напряжения. В случае его отсутствия микроконтроллер, питаясь от ионистора С4, выключает все индикаторы и светодиоды и переходит в "спящий" режим, в котором ход встроенных часов продолжается. При емкости ионистора 1 Ф часы могут работать в таком режиме приблизительно двое суток. С появлением напряжения на выходе стабилизатора микроконтроллер включает индикаторы, и все функции часов полностью восстанавливаются.

В приборе использованы одноразрядные светодиодные семиэлементные индикаторы с общими анодами HG1 — HG8. Из них составлен восьмиразрядный индикатор, работающий в динамическом режиме с частотой переключения индикаторов примерно 50 Гц. Этого достаточно, чтобы человеку все разряды казались включенными одновременно. Индикаторы должны быть расположены на плате в порядке HG1, HG3, HG5, HG6, HG2, HG4, HG7, HG8 (слева — направо) с увеличенными промежутками между HG3 и HG5 и между HG6 и HG2. Светодиоды HL1 и HL2 устанавливают один над другим в промежутке между индикаторами HG4 и HG7.

Переключение разрядов индикатора организовано с помощью транзисторов VT1 — VT8. Чтобы уменьшить габариты устройства, все эти транзисторы можно заменить одной микросхемой UDN2981A, причем резисторы R1 — R4, R6, R9, R10, R12 в этом случае необходимо исключить. Взамен устаревших индикаторов АЛС324Б можно применить другие с общими анодами, например CPD4011SR2/A. При этом придется, возможно, подобрать резисторы R13 — R19 для получения желаемой яркости свечения индикаторов.

Датчик температуры ВК1 может быть подключен к часам через разъем трехпроводным кабелем длиной до нескольких метров. Иногда для устранения сбоев датчика приходится подбирать резистор R5.

Нажатием на кнопку SB3 часы устанавливают в исходное состояние: 0 часов 0 минут 1 января 2000 г. Незначащие нули не отображаются. При температуре -10 °С и ниже знак минус автоматически перемещается с индикатора HG4 на HG2.

Кнопка SB2 служит для переключения режимов индикации. Сразу же после включения питания отображаются день, месяц и год, после первого нажатия на эту кнопку — день, месяц и время, после второго — день, месяц и температура. После третьего нажатия, перечисленные выше режимы, автоматически сменяются каждые 5 с, а после четвертого вновь отображаются только день, месяц и год. Дальнейшее переключение происходит циклически в описанном порядке.

При нажатии на кнопку SB1 часы останавливаются и входят в режим установки значений даты и времени. Прежде всего, на индикаторах HG1, HG3, HG5 и HG6 появляются символы ЗП 0F. Они означают, что автоматический переход с зимнего времени на летнее и обратно заблокирован. Нажатием на кнопку SB2 его можно разблокировать, что будет подтверждено символами ЗП 0п на индикаторе. Еще одно нажатие на кнопку SB2 вновь включит блокировку и так далее.

Затем нажатиями на кнопку SB1 выбирают изменяемые параметры (в последовательности год, месяц, день, часы, минуты), а кнопкой SB2 устанавливают их значения. Завершающее нажатие на кнопку SB1 вновь запустит часы.

Для перехода к следующему изменяемому параметру нужно каждый раз нажимать на SB1, для изменения выбранного параметра необходимо использовать кнопку SB2. Вносить изменения можно как отдельными нажатиями на эту кнопку, так и продолжительным ее удержанием в нажатом состоянии.

Значения параметров изменяются по кругу. Например, когда число минут достигнет 59, следующим будет 0, и так для каждого параметра (часы, минуты, дни, месяцы). Для каждого месяца предусмотрено соответствующее число дней, например, невозможно установить 31-е число в апреле. Если год високосный, то последним днем февраля будет 29-е число, а если нет — 28-е. Максимальное значение года — 9999, причем даты перехода на летнее и на зимнее время будут вычисляться правильно и в этом году.

Скачать исходник и прошивку МК

Е. Переверзев, г. Кропоткин Краснодарского края., Радио №9, 2009г.

Если вы нашли ошибку, выделите ее и нажмите Shift + E или нажмите здесь чтобы сообщить нам.


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 5 + 3

Добавить изображение

Последние статьи