Самодельные часы на светодиодных матрицах. Светодиоды яркого свечения оптом, для самодельных часов на светодиодных матрицах Часы на трех светодиодных матрицах

Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной GNM23881AD при размере 60х60мм были куплены за 1,5уе (3 индикатора обошлись в 4,5уе) за эти деньги вы вряд ли купите четыре семисегментника таких-же размеров). А вот информации, разместить на матричном индикаторе, можно намного больше. Кроме цифр на них можно отображать буквы, знаки, а с помощью бегущей строки еще и текст. Исходя из этого, появилось желание построить часы на светодиодных матрицах, но чтоб схема при этом получилась не сложнее чем на семисегментниках. Также хотелось чтоб она была достаточно функциональна и не похожа на другие. Так родилась следующая схема.

Функционал у часов такой:

  • Отсчет времени, календарь, день недели. (високосный год учитывается, переход на летнее/зимнее время не осуществляется).
  • Сохранение хода часов при пропадании внешнего питания (потребление составляет 15мка).
  • Коррекция хода + — 59,9сек\сутки, с шагом 0,1сек.
  • 9 будильников. 3 из которых «одноразовые», и 6 «постоянных», индивидуально настраиваемых по дням недели.
  • Индивидуально настраиваемая длительность звукового сигнала каждого будильника (1-15мин).
  • Звуковое подтверждение нажатия кнопок (возможно отключить).
  • Ежечасный звуковой сигнал (возможно отключить). С 00-00 до 08-00 сигнал не подаётся.
  • 1 или 2 датчика температуры (Улица и дом).
  • Настраиваемая бегущая строка, посредством которой выводится вся информация (кроме времени)
  • Значение коррекции хода, и настройки «бегущей строки» — сохраняются даже при пропадании резервного питания.

«Сердцем» часов выбрана AtMega16A, из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер. В результате удалось обойтись всего двумя микросхемами, контроллером и регистром с мощными выходами TPIC6B595. Если кому то недоступен TPIC6B595, то можно его заменить на 74НС595 + ULN2803. Оба варианта были опробованы. Так же можно попробовать применить TPIC6С595, она немного слабовата, и слегка грелась, но в целом работала стабильно. Отсчет времени производится с помощью асинхронного тайме – Т2. Ход часов продолжается и при пропадании питания. В это время бОльшая часть схемы обесточена, и только контроллер получает питание от батарейки, аккумулятора, или от ионистора. Мне было интересно «по играться» с ионистором, поэтому применил его. Ток потребления часами в дежурном режиме составляет 15мка. При питании от ионистора на 1Ф, часы «продержались» четверо суток. Этого вполне достаточно для поддержания хода во время перебоев питания. Если применить батарейку СR2032, то теоретически, по расчетам заряда должно хватить на 1,5года. Наличие сетевого напряжения контроллер «слушает» через вывод РВ.3. Напряжение питания, через делитель R2-R3 подается на вывод РВ.3, и в нормальном состоянии равно примерно 1,5в. Если внешнее напряжение упадет ниже 4,1 вольта, то напряжение на выводе РВ.3 станет меньше 1,23вольта, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ.3 сново подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1.

В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту происходит запуск бегущей строки. Бегущей строкой отображается день недели, дата, год, темп. дома, и темп. на улице. Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (я например всегда отключаю отображение года). При выключении отображения всех элементов бегущей строки, она не запускается вовсе, и часы постоянно отображают только время.

9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин.

Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают на 5 сек, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи.

Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от 3х вольтовой батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n.

Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:

Конструктивно часы выполнены на одной ПП. Размер ПП соответствует размеру индикаторов. Минимальная ширина дорог ПП – 0,4мм, расстояние между – 0,4мм. Так что любители «ЛУТа» смогут без труда изготовить плату самостоятельно.

Все элементы — в SMD исполнении, и расположены с одной стороны платы. А индикаторы с другой. Получается миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.

Корпус спаян из стеклотекстолита, прошпаклеван и покрашен в цвет «спелая вишня». Стекло передней панели – обычное тонированное стекло.

Финальный результат.

Добавлена регулировка яркости. Схема не меняется. Регулировка яркости производится либо по времени, либо в зависимости от освещенности. Тип регулировки выбирается автоматически. Если подключен фоторезистор, то яркость индикаторов меняется в зависимости от освещенности, а если фоторезистор не подключен, то вручную устанавливаем время когда снижать яркость экрана, и когда восстанавливать обратно.

Настройка по времени производится так. В меню «НАСТРОЙКИ» после переопределения датчиков температуры (если датчик один, или вовсе нет, то после настройки скорости строки) мы попадаем в меню где устанавливаем время снижения яркости, и время восстановления, а также желаемый уровень снижения яркости.

Если фото датчик (фоторезистор) подключен, то после переопределения датчиков температуры мы попадем в меню «калибровки фоторезистора» В это время на экран выводится результат измерения напряжения на фоторезисторе. Нужно осветить датчик чем нибудь очень ярким и нажать кнопку «ОК». Программа запомнит это значение. Это делается для того чтоб отсечь «мертвую зону».

Фоторезистор подключается к выводу РА.7 Подойдет любой фоторезистор у которого световое и темновое сопротивление изменяется в 50 и более раз(у современных фоторезисторов как правило 500-2000). Резистор R4 должен быть примерно в 10 раз больше чем световое сопротивление фоторезистора. Если у вашего фоторезистора световое сопротивление меньше 0,5ком, нужно последовательно с ним включить обычный резистор, чтоб общее сопротивление стало 0,5ком.

СХЕМА ПОДКЛЮЧЕНИЯ ФОТОРЕЗИСТОРА.

Убрал глюки в работе датчиков ds18b20. периодически один, а то и два датчика «пропадали» (было не у всех)


Часы на светодиодных матрицах (описание и сборка)
Оригинал статьи находится по адресу: http://radiokot.ru/circuit/digital/home/103/
Автор разработки O-LED, комплектация
Схема устройства была немного изменена и стала иметь следующий вид:

Сердцем устройства является микроконтроллер IC1 , в него «зашита» управляющая программа, которая ведет отсчет времени, опрашивает датчики температуры D1, D2, датчик освещенности R35, подает звуковые сигналы на SP1 и выводит информацию на светодиодные матрицы H1-H3.
Для согласования микроконтроллера с матрицами служит микросхема D3. Это регистр с мощным выходом, который выдерживает большие токи, чем МК и позволяет «сэкономить» его выводы.
Микросхема D4 – это ШИМ контроллер. Его задача понизить входное напряжение от +7…+24Вольт до стабильных 5 вольт. Резисторами R32,R33 и задается значение выходного напряжения. Очень толковое описание данной микросхемы можно почитать по этой ссылке (http://mysku.ru/blog/aliexpress/39481.html). В качестве измерителей температуры служат цифровые датчики D1 и D2, один из которых устанавливается на улице, другой остается дома, на плате. Конденсаторы С1-С4, С6, С7, С10 служат для сглаживания помех по питанию. Конденсатор большой емкости С5 (ионистор) необходим для поддержания питания микроконтроллера при пропадании общего напряжения на схеме. Это позволяет не сбрасываться часам при пропадании электричества. Его заряда хватает на 3 - 4 дня непрерывной работы IC1. При этом диод VD1 не позволяет ему разряжаться через другие элементы схемы.
Датчиком освещенности служит фоторезитор R35. Он реагирует на внешнее освещение и «говорит» МК какую необходимо установить яркость свечения светодиодных матриц. При отсутствии R35 яркость свечения в ночное и дневное время можно задать программно.
Кварцевый резонатор XT1 задает тактовую частоту отсчета времени. От его работы зависит точность хода часов. Автором устройства была предусмотрительно сделана программная коррекция точности.
Настройка, установка и управление устройством осуществляется всего двумя кнопками «ОК» и «STEP» (в переводе ШАГ). Сброс устройства осуществляется кнопкой «RESET»(SW3). Кнопкой «STEP» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «STEP». Нажатие любой кнопки во время сигнала будильника отключает его.
Схема управления получилась такой:



В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту (настраивается пользователем) происходит запуск бегущей строки. В ней отображается день недели, дата, год, темп. дома, и темп. на улице(если установлены соответствующие датчики). Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (многие пользователи,например, всегда отключают отображение года). При выключении отображения всех элементов бегущей строки, она не запускается вовсе, и часы постоянно отображают только время.
9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или, например, Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин.
Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают на 5 сек, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от ионистора (конденсатор С5).

Сборка часов.


Итак, набор пришел, начинаем сборку!
Первым делом устанавливаем ШИМ – контроллер на микросхеме D4, а так же элементы его обвязки C1, С8, С9, R32 – R34, L1 и VD2. Следует обратить внимание, что в наборе, в основном, используются резисторы и конденсаторы типоразмера 1206, и только элементы ШИМ-контроллера (перечисленные выше) имеют меньший размер – 0805.

После успешной установки подаем питание на схему больше 7вольт и проверяем, что бы на плюсовом выводе С1 было напряжение примерно 5вольт. Если все в порядке, продолжаем сборку устройства в любом порядке, запаивая сперва самые мелкие детали, потом крупнее и т.д.
Если планируется питать плату от пятивольтового источника тока, схему ШИМ- контроллера можно не собирать, а подавать напряжение непосредственно на С1, соблюдая полярность.
На плате предусмотрено три варианта установки датчика освещения R35. Куда именно его запаять – выбор за вами, это никак не отразится на работе схемы. Тоже самое и с кнопками управления “OK” и “STEP”. Их можно спрятать с обратной стороны платы, а излишки печатки отрезать по белой линии – что бы получить миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.




После сборки часы заработают сразу. Управляющая программа уже ЗАШИТА в микроконтроллер. Нажав кнопку «RESET» часы высветят версию прошивки (в нашем случае это v.1_09) и через пару секунд начнут показывать время, маяча секундной точкой слева направо. Нужно убрать защитную пленку с матриц и можно пользоваться часами.
Ну и финальный результат должен выглядеть примерно так:


Для любителей «поковырять» прошивку чтобы изменить шрифт, добавить новый функционал, да и просто для самообразования, прикрепляю авторские исходники программы а так же для удобства на плате выведены площадки для программирования микроконтроллера.
Схема часов в высоком разрешении, фотографии устройства, перечень элементов.

На тему самодельных часов и обещал продолжения, так вот извольте. Часы на самодельных светодиодных матрицах.

Эти светодиоды были заказаны ещё ДО того как я решил делать часы на матрицах
Я заказал три разных цвета светодиодов у одного продавца: , и
Делалось это для того чтоб попробовать изготовить сегментные часы, из расчёта по три светодиода на сегмент 7*4*3=84+2=86 штук
Вот приблизительно по такому принципу:

Хотелось попробовать разный цвет и обязательно яркие (а как по другому то?)
По этому партии по 100 штук меня вполне устраивали, тем более цена вполне приемлемая, а так-же, заказал ещё в этом же магазине - сделать разноцветными цифры, чтоб можно было сравнить цвета на одном дисплее - какой будет красивее, ну и так - поприкалываться… :)

Товар заказан и оплачен был 20 августа 2016 , а прибыл 15 сентября 2016 , по нашим меркам достаточно оперативно. НО! Светодиоды красного цвета - не пришли! По окончанию срока защиты покупателя был открыт спор и продавец вернул деньги. Было просто жаль потраченного времени…

Товар пришёл в стандартном жёлтопупырчатом почтовом конверте, сами светодиоды были упакованы в отдельный целлофановый пакет, количество штук в синие, зелёные - было чуть больше 100 (точно сейчас уже не помню, но помню что было на 4-5 штук больше)
Все рабочие (т.е. светятся)
В тех, что разноцветные - было упаковано в отдельные пакетики, на которых было маркером помечен цвет R G B W Y - цвет везде соответствовал, и так-же по 2-3 лишних - создавалось впечатление, что так наверное у всех, но позже убедился, что не всегда так - бывает и наоборот…

Если бы не косяк с красным цветом, продавцу можно было-бы поставить жирную пятёрку с плюсом за щедрость.

С другой стороны, деньги возвращены - проблема просто в потерянном времени и обманутых ожиданиях
А ещё он прислал письмо, где он писал, что мол возвращает мне СВОИ деньги, и если товар придёт - просил вернуть ему эту сумму
Дословно:

Hi, my friend, I am now a refund, when you receive a package, please return my money,Please give me a five-star high praise.
На что ему пришлось накатать письмо, что это не ЕГО деньги, а просто он возвращает мне в результате спора МОИ деньги, т.к. я его товара так и не получил и при этом потерял много времени ожидая его товар

Кстати, когда пришли все остальные заказы от него, спустя 10 дней, я написал ему, что мол - переживаю, т.к. это странно - все пришли, а один из заказов не пришёл
На что он без всяких «хелоу френд» - сухо ответил «60 дней ещё не прошло»
А тут вдруг и «другом» стал, и вроде как ЕГО деньги поимел…

Но в общем-то - продавец свои обязанности выполняет, на письма реагирует, от отправленного товара - эмоции только положительные, деньги за не отправленное вернул - всё согласно ПРАВИЛ

Ну а теперь про то ради чего это приобреталось

Преимущества светодиодов неоспоримы, сегодня они везде, в том числе и часах. Что представляют себя часы на светодиодных матрицах, о плюсах и недостатках разберем в рамках статьи. В конце статьи представлено подробное пошаговое руководство для изготовления устройства своими руками.

Что это такое

Часы на светодиодных матрицах - это электронные часы, в которых для индикации используются матрицы из множества светодиодов. Применение индикаторов другого типа - единственное их отличие.

Матрица - это набор светодиодов, собранных вместе в виде сетки с единым анодом или катодом. Как правило, разрешение таких индикаторов - количество точек по вертикали и горизонтали - 8×8.

Почему же такие часы набирают популярность, преимущества:

  1. Цена. Светодиодные матрицы дешевле семисегментных индикаторов аналогичных размеров.
  2. Яркость. Светодиоды горят ярче, чем семисегментные индикаторы, их лучше видно в местах, освещенных солнечными лучами. Многие производители также предусматривают конструктивную защиту диода от воздействия солнца.
  3. Функциональность. При помощи матрицы из светодиодов можно выводить не только цифры, но также различные буквы, знаки препинания, символы. При помощи набора LED-матриц можно выводить некоторую информацию в виде бегущей строки.

Светодиодные матрицы имеют и недостатки:

  • Увеличенная сложность управления. Из-за большого количества элементов (в стандартной матрице их 64) управлять матричными индикаторами чем семисегментными. Для этого применяются микроконтроллеры, динамическая индикация и сдвиговые регистры.
  • Угол обзора. Особенность светодиодов состоит в том, что они фокусируют свет в одном направлении. Это приводит к тому, что изображение на светодиодной матрице видно хорошо только под определенным углом.
  • Непереносимость высоких температур. Нагревание снижает эффективность светодиодов и уменьшает срок службы.
  • Перегорание отдельных светодиодов приведет к эффекту «битого пикселя» и ухудшению качества изображения.

Самодельные часы на светодиодных матрицах

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

Необходимые навыки для сборки устройства:

  • изготовление печатных плат;
  • пайка элементов: схема предполагает SMD-исполнение, это значит, что элементы будут устанавливаться прямо на поверхность платы;
  • прошивка микроконтроллеров: в схеме используется МК ATMega16A;
  • программирование МК: это не обязательно, поскольку для данного устройства уже имеется прошивка контроллера. Этот навык пригодится, если вы захотите изменить режим работы часов или расширить их функционал, например, добавив дополнительные элементы такие, как датчики температуры или влажности.

Из инструментов понадобятся:

  • набор для изготовления плат;
  • программатор МК;
  • паяльник.

Рассмотрим подробнее схему устройства. Главным управляющим элементом является МК ATMega16A, он обеспечивает следующие возможности прибора:

  1. Отсчет времени и календарь. Ведется даже при отключении питания.
  2. Будильник. Здесь их 9 штук, можно запрограммировать на работу по дням недели.
  3. Измерение температуры. Конструкция часов позволяет установить два датчика температуры для измерений в комнате и на улице.
  4. Режим бегущей строки. Выдает следующую информацию: день недели, месяц, год, температура.
  5. Коррекция хода часов.

Большая часть функций возложена на микроконтроллер, что позволяет максимально разгрузить схему и использовать минимальное количество элементов.

В устройстве используется лишь две микросхемы: микроконтроллер и сдвиговый регистр TPIC6B595, также можно подключить два датчика температуры DS18B20 - один уличный, и второй комнатный.

Для индикации используются три светодиодные матрицы 8×8. В качестве диода D1 лучше использовать диод Шоттки. Диод в схеме обеспечивает переход на аварийное питание, а диод Шоттки обладает наименьшим падением напряжения и высокой скоростью переключения.

Процесс изготовления:


О некоторых особенностях при сборке часов на светодиодной матрице с ATMega 16A доступно рассказывается в следующем видео.

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

Многие начинающие радиолюбители, да и не только, любят «изобрести велосипед» - каждому хочется построить СВОИ электронные часы. Меня эта участь так же не миновала. В Интернете конструкций часов предостаточно, но часов на светодиодных матрицах среди них единицы. В русскоязычном интернете я нашел лишь одну полностью законченную конструкцию с описанием.
В то же время, светодиодные матрицы в последнее время сильно упали в цене, и их стоимость может даже меньше, чем семисегментне индикаторы того же размера. Вот к примеру примененные GNM23881AD при размере 60х60мм куплены мной за полтора доллара (три индикатора обошлись в четыре с половиной доллара), за такие деньги врядли купишь четыре семисегментных индикатора таких-же размеров. Но разместить информации на матричном индикаторе, получится намного больше. Кроме цифровой индикации, на светодиодной матрице можно отобразить различные буквы, знаки, а при помощи бегущей строки и текст. Проанализировав всё это, было принято решение построить многофункциональные часы на светодиодных матрицах, при этом было желание не усложнять схему больше, чем на семисегментных индикаторах. Ещё хотелось, что-бы схема была многофункциональная и не похожа на другие. Вот так и родилась вот эта схема.

Функционал часов:
Время, календарь, дни недели. (учитывается високосный год, но перехода на летнее/зимнее время нет). Сохранение работоспособности часов при отключении внешнего источника питания (потребление тока всего 15мкА). Коррекция хода часов + - 59,9сек\сутки, шаг 0,1сек. 9 будильников. Три из них «одноразовые», а 6 - «постоянные», настраиваемые индивидуально по дням недели. Длительность звукового сигнала для каждого будильника индивидуально настраиваемая (1-15мин).

Звуковое подтверждение при нажатии кнопок (функция отключаемая). Каждый час звуковой сигнал (функция отключаемая). С 00-00 до 08-00 режим сна, сигнал не подаётся. 1 или 2 температурных датчика (Улица и дом). Настраиваемая бегущая строка, при помощи которой можно вывести всю информацию (кроме времени) Коррекция хода, и установки «бегущей строки» - сохраняются в памяти даже при отключении резервного источника питания.

«Сердцем» часов была выбрана AtMega16A, критерием сыграли ее дешевизна, достумность. Ее 40 ног позволят реализовать все задумки. Было желание схему максимально упростить, и поэтому весь функционал был возложен на контроллер. В итогеполучилась схема всего на двух микросхемах, контроллер и регистр TPIC6B595. Если нет возможности достать TPIC6B595, то вполне возможно заменить его на 74НС595 + ULN2803. Все варианты были проверены. Ещё можно попробовать заменить на TPIC6С595, но она слабовата, и немного грелась, но работала довольно стабильно.

Отсчет времени осуществляется с помощью асинхронного таймера – Т2. При пропадании основного питания ход часов сохраняется.При этом почти вся схема обестачивается, а контроллер запитывается от аккумулятора, батарейки или ионистора. Было желание «по играться» с ионистором, вот поэтому и применил его. Часы потребляют в дежурном режиме около 15мкА. При резервном питании от ионистора на 1Ф, емкости хватило на четверо суток, чего вполне достаточно для поддержания хода часов при перебоях в сети. Если использовать батарейку СR2032, то заряда хватит на полтора года.

Контроллер прослушивает наличие сети через выв. PB3 (инвертирующий вход компаратора). Напряжение питания подается через делитель R2-R3 на выв. РВ3, и примерно равно 1,5 В. Если напряжение питания снизится до 4,1 вольта, то напряжение на выв. РВ3 станет меньше 1,2 В, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ3 снова подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1.

В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту происходит запуск бегущей строки. Бегущей строкой отображается день недели, дата, год, темп. дома, и темп. на улице. Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (я например всегда отключаю отображение года). При выключении всех элементов, бегущая строка не запускается, и часы постоянно отображают текущее время.

9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин.

Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи.

Можно применить любые светодиодные матрицы 8*8 светодиодов с общим катодом. Как уже говорилось, я применил GNM23881AD. Но можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от батарейки. Диод D1 - желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n.

Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой.