8-900-374-94-44
[email protected]
Slide Image
Меню

Часы матричные – Простые часы на светодиодных матрицах.

Простые часы на светодиодных матрицах.

Простые часы на светодиодных матрицах.

Многие  радиолюбители, начинающие и не только любят «изобретать велосипед» —  строить  СВОИ электронные часы.  Не обошла эта участь и меня.  Конструкций часов в инете сегодня конечно предостаточно,   но вот  часов на светодиодных матрицах  почему-то среди них единицы.  В русскоговорящем интернете я нашел только одну полностью законченную конструкцию.  В тоже время, светодиодные матрицы сейчас очень сильно подешевели,  и их стоимость  не выше,  а то и ниже,  чем у семисегментных индикаторов  такого же размера.     Например  примененные мной 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  исполнении, и расположены с одной стороны платы.  А индикаторы с другой.  Получается  миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.

  

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

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

 

>>> Видео работы часов

 

Изображение на  видео слегка  подергивается и мерцает.   Как мне объяснили знающие люди,  с моей камерой  лучше снять и не получится,  так как  частота смены кадров  у  часов и у камеры разная.  Отсюда  всякие мерцания и прочая лабуда.   В реальности ничего подобного не наблюдается.

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

************************************************************* ************************************************************

АПГРЕЙД  …….

Судя по отзывам после публикации статьи  проектом заинтересовались.  Многие  повторили.  Значит нужно развиваться   дальше.  )))   На  данный момент  самая свежая прошивка —   V1_06.   В ней добавлены —   «скроллинг»  цифр,  полностью  переписана работа  будильников(были глюки при одновременном использовании нескольких будильников),  названия дней недели в настройках будильников сделаны привычные двухбуквенные (было – пон, вто, сре….)  и неделя начинается с понедельника (было на американский манер с воскресенья).    Также добавлена поддержка  AtMega32  (нужна перекомпиляция),    новые шрифты цифр (выбор пока на этапе компиляции),    переназначение  датчиков температуры (можно программно определить какой датчик является домашним,  а какой уличным),    регулировка скорости бегущей строки,   и   кое что по мелочи.   Также отловлены мелкие  глюки,  и конечно же добавлены большие новые )))).    

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

Если в часах установлено два датчика температуры  ds18b20,  то после настройки скорости строки,  мы попадаем в меню   «переопределения»   датчиков.   В этом меню можно  указать какой датчик у нас находится дома,  а какой на улице.   На  экране в это время  выводится  буква «д»  и температура одного из датчиков.  Нажатием  кнопки   «ОК»  переключаем датчики  так, чтоб на экране отображалась  «домашняя»  температура.   После чего кнопкой «ШАГ»  выходим из этого меню.   Если в часах установлен один датчик,  или не установлено вовсе,  то в пункт переопределения датчиков мы не попадаем,  и сразу после  настройки скорости строки переходим в основной режим.  

Больше всего  вопросов поступило по  применению  матриц   с ОА в строке,  и замене регистра  TPIC6B595.      Самый  простой и дешевый вариант заменыTPIC6B595 это регистр  74HC595 +  ULN2803.   Также можно заменить  на  74HC595 +  восемь  ключей на отдельных  транзисторах.   Транзисторы подойдут и биполярные структуры NPN,   и  полевики (мосфеты)    N-канальные.      

 

СХЕМА   74HC595 +  ULN2803

 

СХЕМА  74HC595 +  восемь   NPN транзисторов.

 

СХЕМА  74HC595 +  восемь   N-канальных полевых транзистора (практически повторяет предыдущую схему). 

Для  того чтоб в часах  применить  матрицы  с «ОА» в строке  их нужно  немного доработать.   Для этого нам понадобится крупный напильник (рашпиль)   и станок лазерной резки…….  ))))))     Шучу, я шучу,   ничего для этого нам не понадобится,   Достаточно просто развести печатную плату по другому.      Вы  спросите, а как это матрица с ОА  будет работать в схеме с ОК?     Легко!    Дело в том, что понятие  «ОК»  или «ОА»   для светодиодной матрицы   довольно условное,   и  для того чтобы «превратить»   матрицу   с ОА   в строке в матрицу   с ОК,   достаточно  всего лишь повернуть её на 90 градусов влево или вправо.

 

Матрица ОА

 

Поворачиваем на 90 градусов и получаем матрицу ОК

Попутно давайте разберемся   с «путаницей»  в маркировке.   Многие наверное заметили что  матрицы   с  общим катодом в строке,  в  прайсах   продавцов  значатся   матрицами с общим анодом.  А все потому,  что производители   маркируют матрицы не по строкам,  как многие привыкли ,  а по столбцам.    По мне, это как то нелогично,  но производителям как говорится  видней….      Давайте будем  называть  матрицы у которых в нормальном положении  в строке катоды диодов – матрицами с ОК,  а у которых в строке аноды – матрицами  с ОА.       Ну а для данной конструкции  можно  с этим вообще  не заморачиваться,   и сначала,  приобрести  матрицы,  а потом  изготовить нужный вариант  платы.     

 

 

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

Напротив   FONT  вместо нолика поставьте  номер желаемого шрифта от 0  до 6.      (0 –   «родной» шрифт).    Компилируйте и прошивайтесь.   

(шрифты рисовал  форумчанин   sirgio  с сайта радиокот).   

 

Для    применения   AtMega32   также понадобится перекомпиляция.    В начале исходника найдите строчки

Напротив    #define   ATMEGA16   поставьте ноль,  а напротив    #define   ATMEGA32      поставьте единичку.   Компилируйте и прошивайтесь.

 

 

Вариант замены  TPIC6B595  на    74нс595+8 транзисторов ВС817 был опробован в железе.    Работает нормально.   Корпус новых часов сделал из  оргстекла.   На матрицы наклеил тонировочную автомобильную пленку зеленого цвета.   Это немного снижает яркость,  зато здорово добавляет контрастности, и улучшает эстетическое восприятие ))).   Но главное — на солнце читаемость становится лучше.    Вообще, я если честно разочарован зелеными матрицами.    При той же заявленной яркости что и красные, и при большем закаченном в них токе чем у красных – читаемость на солнце у них гораздо хуже.  

 

74нс595+8 транзисторов ВС817  вместо TPIC6B595.  Места много, все прекрасно помещается. 

Индикаторы без светофильтра.  Яркость хороша, но читается плохо. 

Индикаторы со светофильтром.  Менее ярко,  но читаемость лучше. 

Корпус из оргстекла.  

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

Ну и напоследок  >>>видео   новых возможностей часиков.

(«старые» возможности смотрите на видео выше),  и


>>>видео двух часов рядом.  (В этот раз взял у друга камеру получше,  теперь мерцаний и прочей ерунды невидно.)

Вот, вроде пока и все. В ближайших планах  добавить всякие спецэффекты при смене информации,  сделать пины контроллера к которым подключены  столбцы  программно переназначаемыми (идея  форумчанина ВНН),    В далеких планах,  — очень хочется сделать голосовое проговаривание времени  каждый час, и при сработке будильников.  Пока понятия не имею как к этому подступится,  и реально ли это сделать  на данном железе,  но самый «жирный» таймер контроллера   Т1  специально нигде не использовал,  берегу  для этой задачи.

Принимаю интересные идеи для реализации.

Коммерческое использование конструкции без разрешения автора — запрещено

Файлы:
01.rar
02.rar
03.rar
04.rar
05.rar
06.rar
07.rar
12.jpg


Все вопросы в Форум.

www.radiokot.ru

Часы на светодиодных матрицах | minikit


Часы на светодиодных матрицах (описание и сборка)
Оригинал статьи находится по адресу: http://radiokot.ru/circuit/digital/home/103/
Автор разработки O-LED, комплектация www.minikit.ru
 Схема устройства была немного изменена и стала иметь следующий вид:
   Сердцем устройства является микроконтроллер IC1 , в него «зашита» управляющая программа, которая ведет отсчет времени, опрашивает датчики температуры D1, D2, датчик освещенности R35, подает звуковые сигналы на SP1 и выводит информацию на светодиодные матрицы h2-h4.
Для согласования микроконтроллера с матрицами служит микросхема 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) и через пару секунд начнут показывать время, маяча секундной точкой слева направо. Нужно убрать защитную пленку с матриц и можно пользоваться часами.
Ну и финальный результат должен выглядеть примерно так:

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

minikit.ru

Часы на светодиодных матрицах

Простые часы на светодиодных матрицах. Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную и описанную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной 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, если же часы отстают, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи. Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n. Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:

Скачять в полном размере

 

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

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

 

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

Видео как все работает!

Фюзы для программирования

 matrix_clock_mega16.rar

 pecytka.zip

shemu.ru

Матричные часы-будильник-термометр — Меандр — занимательная электроника

Многие радиолюбители, начинающие и не только, любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например, примененные мной KINGBRIGHT TA12-11 достались за дарма из утилизированных игровых автоматов, которые за два дня переродились в эти часы. Информации разместить на матричном индикаторе можно намного больше. Кроме цифр на них можно отображать любые буквы, знаки, а с помощью бегущей строки еще и текст, например, так:

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

В общем-то ничего сложного, односторонние печатные платы, при желании можно легко сделать на монтажках

Рисунок платы можно без проблем мультиплицировать до разумно-неограниченного числа матриц.

Далее фото индикатора крупным планом:

Цифры на индикаторе крупные, яркие, цветные; очень подуйдут для моей бабушки.

Звуковой излучатель из корпуса системного блока — мелодия адская, поднимет всё.

Файлы:
прошивка, платы

Источник: http://radiokot.ru/konkurs/57/

Возможно, вам это будет интересно:

meandr.org

Простые часы на светодиодных матрицах — LightPortal

Многие  радиолюбители, начинающие и не только любят «изобретать велосипед» —  строить  СВОИ электронные часы.  Не обошла эта участь и меня.  Конструкций часов в инете сегодня конечно предостаточно,   но вот  часов на светодиодных матрицах  почему-то среди них единицы.  В русскоговорящем интернете я нашел только одну полностью законченную конструкцию.  В тоже время, светодиодные матрицы сейчас очень сильно подешевели,  и их стоимость  не выше,  а то и ниже,  чем у семисегментных индикаторов  такого же размера.     Например  примененные мной 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  исполнении, и расположены с одной стороны платы.  А индикаторы с другой.  Получается  миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.

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

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

V1_07 

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

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

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

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

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

V1_08

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

Добавил контроль аварии датчиков температуры. Теперь если в течении 5 минут не удалось ни разу считать с датчика показания, то выводится температура -99″. 

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

vlego обнаружил глюк. Если в 23часа 59минут и более 40 секунд обнулить секунды, то время перескакивало на 24:00. И далее соответственно 25ч.26ч… Поправил.

V1_09

Добавлена настройка интервала между запуском бег строки. В меню «НАСТРОЙКИ» , после установки яркости ночного режима, попадаем в меню настройки интервала запуска бег. строки. Можно установить интервал — от 1сек до 3мин 59сек.

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

Код:

//_________/

//поставьте единичку если нужно отображать температуру с десятыми долями градуса

#define   TENTH_HOUSE       0         // для температуры дома

#define   TENTH_STREET      0         // для температуры на улице

//_________/

Часто задаваемые вопросы (FAQ)

Цитата:

Спаял часы, они заработали, но 4 столбца матрицы не работают. что делать?….

Скорее всего забыли снять фьюз JTAGEN. Новые контроллеры идут с завода с уже установленным фьюзом JTAGEN

Цитата:

Что то собрал я часы. Прошил. А они не пошли. что может быть??

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

Собранные без ошибок, и из исправных деталей часы, начинают работать сразу! 

***********************************************************

Статья на сайте автора — http://mdoga.ru/Designs/Matrix%20clock%20mega16/Matrix%20clock%20mega16.htm

Эта же статья на «Радиокоте» — http://radiokot.ru/circuit/digital/home/103/

Актуальный форум с последними прошивками и активным обсуждением — http://radiokot.ru/forum/viewtopic.php?f=20&t=50199

P.S. От автора портала. Собрал двое часов, одни на круглых, другие на квадратных сегментах. Очень доволен. Спасибо автору и пожелание творческих успехов, весьма удачная конструкция!

lightportal.info

РадиоКот :: Матричные часы-будильник-термометр

Многие радиолюбители, начинающие и не только, любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например, примененные мной KINGBRIGHT TA12-11 достались за дарма из утилизированных игровых автоматов, которые за два дня переродились в эти часы. Информации разместить на матричном индикаторе можно намного больше. Кроме цифр на них можно отображать любые буквы, знаки, а с помощью бегущей строки еще и текст, например, так:

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

В общем-то ничего сложного, односторонние печатные платы, при желании можно легко сделать на монтажках

Рисунок платы можно без проблем мультиплицировать до разумно-неограниченного числа матриц.

Далее фото индикатора крупным планом:

Цифры на индикаторе крупные, яркие, цветные; очень подуйдут для моей бабушки.

Звуковой излучатель из корпуса системного блока — мелодия адская, поднимет всё.

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

Файлы:
прошивка, платы

Все вопросы в Форум.

www.radiokot.ru

Простые часы на светодиодных матрицах.

Многие  радиолюбители,начинающие и не только любят «изобретать велосипед» —  строить СВОИ электронные часы.  Не обошлаэта участь и меня.  Конструкций часов винете сегодня конечно предостаточно,   новот  часов на светодиодных матрицах  почему-то среди них единицы.  В русскоговорящем интернете я нашел толькоодну полностью законченную и описанную конструкцию.  В тоже время,светодиодные матрицы сейчас очень сильно подешевели,  и их стоимость  не выше, а то и ниже,  чем у семисегментныхиндикаторов  такого же размера.     Например примененные мной 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,  если же часы отстают,  то в 00-00-00 время установится в 00-00-05.   Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки.     С исправным кварцем больше вряд липонадобиться.   Коррекция осуществляетсяи в дежурном режиме при питании от батареи.

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

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

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

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

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

Проект в протеусе у меня почему то не заработал,  так что отлаживал в железе.  Если кто соберет в протеусе,  и у него нормально заработает — присылайте,обязательно выложу.

Обсуждение и вопросы можно задавать  на форуме  http://radiokot.ru/forum/viewtopic.php?f=25&t=50199   Если у кого появятся интересные идеи что ещеможно добавить в часы – пишите не стесняйтесь, реализую все, что смогу (правда кодер я слабенький..…).  

Видео работы часов — http://www.youtube.com/watch?v=kYM-qe5YGf0    (что то не получается у меня нормальноснять видео.  Изображение в реальностиплавное и четкое,  а на видео выходит  дерганное и «рваное»….)

Прошивка и исходникна си (CodeVision_AVR_2.05)

Плата Lay


Прошивка на українській мові — скачать 

elektro-shemi.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *