Простые часы на светодиодных матрицах.
Многие радиолюбители,начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошлаэта участь и меня. Конструкций часов винете сегодня конечно предостаточно, новот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел толькоодну полностью законченную и описанную конструкцию. В тоже время,светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментныхиндикаторов такого же размера. Например примененные мной 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мм. Такчто любители «ЛУТа» смогут без трудаизготовить плату самостоятельно.
Корпус «спаян» изстеклотекстолита, прошпаклеван ипокрашен в цвет «спелая вишня». Стеклопередней панели – обычное тонированноестекло.
Финальный результат.
Проект в протеусе у меня почему то не заработал, так что отлаживал в железе. Если кто соберет в протеусе, и у него нормально заработает — присылайте,обязательно выложу.
Обсуждение и вопросы можно задавать на форуме http://radiokot.ru/forum/viewtopic.php?f=25&t=50199 Если у кого появятся интересные идеи что ещеможно добавить в часы – пишите не стесняйтесь, реализую все, что смогу (правда кодер я слабенький..…).
Видео работы часов — http://www.youtube.com/watch?v=kYM-qe5YGf0 (что то не получается у меня нормальноснять видео. Изображение в реальностиплавное и четкое, а на видео выходит дерганное и «рваное»….)
Прошивка и исходникна си (CodeVision_AVR_2.05)
Плата Lay
Прошивка на українській мові — скачать
Простые часы на светодиодных матрицах — 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. От автора портала. Собрал двое часов, одни на круглых, другие на квадратных сегментах. Очень доволен. Спасибо автору и пожелание творческих успехов, весьма удачная конструкция!
Часы на светодиодных матрицах с драйверами MAX7219
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Часы на светодиодных матрицах с драйверами MAX7219
Тут на форуме есть уже как минимум три различные конструкции часов на светодиодных матрицах.
Я предлагаю ещё одну, с использованием драйверов MAX7219, которые недорого можно купить на том же AliExpress, да и ещё, при желании, сразу в виде готовых модулей с матрицей.
В схеме использованы МК ATmega8, часы DS1307, датчики DS18B20, в общем, за исключением MAX7219, всё знакомое и привычное.
Вот несколько фотографий того, что у меня получилось:
Видео работы:
Так что, если эти очередные часы кого-то заинтересовали, читаем статью дальше.
Принципиальная схема часов:
Как видим, ничего сложного. Управляется вся система микроконтроллером по трём проводам, матрицы включены цепочкой. Так что никаких проблем с увеличением, при желании, длины бегущей строки нет.
Исходники проекта доступны на GitHub-е. Честно говоря, делался проект достаточно давно, и код я писал тогда чуть хуже, поэтому там большой простор для оптимизации. Хотя самое вкусное — библиотека для max7219 — в принципе, доделывалась и оптимирировалась недавно, так что там всё более-менее в порядке.
На текущий момент все 8кБ flash-памяти у ATmega8 практически израсходованы (те же шрифты места много требуют), так что особых новых «фич» добавить не получится. Разве что перейти на другой, более «жирный», контроллер.
Пока же набор реализованных возможностей таков:
- Собственно отображение и настройка времени.
- Один будильник с возможностью задания дней недели для срабатывания.
- Настройка яркости свечения часов задаётся для каждого часа времени суток (ночью можно послабее сделать, днём поярче).
- Отображение температуры (в комнате и на улице) раз в минуту (или кнопкой 3) бегущей строкой.
- Отображение текущей даты раз минуту (или кнопкой 2) бегущей строкой.
Действия кнопок:
- Отключение звонка будильника, остановка бегущей строки, выбор настраиваемого параметра в меню настроек.
- Показать дату бегущей строкой, увеличить значение настраиваемого параметра.
- Показать температуру бегущей строкой, уменьшить значение настраиваемого параметра.
При длинном нажатии кнопки соответственно входят в режимы настройки времени/будильника/яркости.
Одновременное нажатие и удержание всех трёх кнопок приводит к развороту картинки на 180 градусов. Такая вот «фича» :). Удобно для симметричного корпуса, чтобы провода питания или внешнего термодатчика с нужной стороны заводить.
По поводу печатных плат скажу следующее.
Плат всего три — 1) МК с часами, 2) матрицы с драйверами, 3) кнопки. Разводка сделана под конкретный корпус и под имеющиеся у меня матрицы. У меня были двухцветные GNM-19881 BSG, то есть на 24 ножки. Зелёный цвет я не использовал, разведя на max7219 только красные светодиоды. Так что под более популярные одноцветные матрицы придётся делать платы самим — по схеме. Тут важно не попутать столбцы-строки, так что можно попробовать для начала сделать макетку с одной матрицей. Ну или по схеме делать, тем более рабочий проект для Proteus есть.
Если кто-то сделает рабочую плату «всё-в-одном» под те же популярные 32мм матрицы ОК (есть такие у меня, в Китае заказанные), я и сам с удовольствием воспользуюсь результатом и разведу себе ещё одни часики — самому как-то лень новую плату делать.
Ну вот, пожалуй, и всё.
Удачи в повторении.
P.S. В последних прошивках, которые можно отслеживать в соответствующей ветке форума, упор сделан на вариант для четырёх матриц. Четвёртая матрица подключается в цепочку вслед за третьей. Из новых функций — авторегулировка яркости на базе фоторезистора, разные варианты шрифтов для отображения времени, локализованные варианты EEPROM (белорусский, английский, украинский, русский), возможность отключения лидирующего нуля часов при отображении времени, и прочие «вкусности» — как уже реализованные, так и запланированные.
Так что при повторении схемы, лучше сразу ориентироваться на 4 матрицы и брать новые прошивки на форуме.
Помимо этого, помимо 4 x MAX7219 в последних версиях также поддерживается драйвер HT1632, а схемотехника для него привязана к оной для платы JY-MCU 3208 Clock, которую можно легко найти в китайских магазинах вроде aliexpress.
Файлы:
Печатные платы
Прошивки + проект Proteus
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
Эти статьи вам тоже могут пригодиться:
Часы на светодиодных матрицах
Представляем ещё одни довольно простые, но вполне универсальные часы с использованием типовой светодиодной матрицы 32×8 LED элементов, которые имеют датчик температуры, влажности и давления BME280, таймер реального времени DS1307, фоторезистор для подстройки яркости и динамик. основа конструкции — процессор Atmega328p.
Схема часов на LED матрицах
Часы на задней панели имеют 3 кнопки, которые можно использовать для установки времени и даты, установки будильника и включения / выключения звукового сигнала при изменении времени. Кроме того, часы наверху имеют фоторезистор, который автоматически устанавливает яркость дисплея.
В качестве дисплея я использовались готовые модули, распространенные среди ардуинщиков.
Что касается чипа реального времени, тут использован DS1307, но можно попробовать и DS3231.
Демонстрация работы часов
Далее смотрите фото индикации времени, далее даты, потом температуры и в конце влажности, после чего цикл с интервалом в несколько секунд повторяется.
В программе идёт плавная смена данных на экране по типу бегущей строки.
Датчик измерения влажности DHT22 достаточно точный, но по ходу сборки тестировались несколько других датчиков (DHT11, DHT22, BME280), из них DHT22 был наиболее подходящим.
А если вам хочется чего-то более оригинального — попробуйте собрать часы из осциллографа. В архиве имеется шестнадцатеричный код программы и схема, сделано в старой версии KiCad — скачать файл.
Часы на светодиодных матрицах | 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”. Их можно спрятать с обратной стороны платы, а излишки печатки отрезать по белой линии – что бы получить миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.
Ну и финальный результат должен выглядеть примерно так:
Для любителей «поковырять» прошивку чтобы изменить шрифт, добавить новый функционал, да и просто для самообразования, прикрепляю авторские исходники программы а так же для удобства на плате выведены площадки для программирования микроконтроллера.
Схема часов в высоком разрешении, фотографии устройства, перечень элементов. СКАЧАТЬ
Информационное табло, часы на матричных индикаторах с МК AVR. — Часы, таймеры, счетчики — Микроконтроллеры — Каталог статей
.Информационное табло, часы на матричных индикаторах с МК AVR.
Уже давно на улицах города можно встретить вывески и разнообразные светодиодные информациооные таблички, одни показывают время, другие рекламируют что то… почему бы и нам не собрать что то аналогичное?
Представляю вам свою работу, это проект матричных часов с применением матричных индикаторов, конечно же, данный матрицы стоят не дешево, но результат безусловно стоит того. В проекте использованы матрицы JZM13881AO-BW, вы можете заменить его на аналогичный.
Данные часы показывают текущее время, температуру, дату, дни недели, максимальную и минимальную температуру зарегистрированную в течение дня. Часы имеют 6 режимов отображения функции. Каждые 3 минуты на дисплее происходит показ информации, день недели, месяц, год, температура. Вся информация отображается в виде бегущей строки. Управление устройством и его настройка осуществляется с помощью пульта дистанционного управления от телевизора.
Принципиальные схемы:Схема состоит из двух частей, они ну оОчень большие, по этому размещать на странице я их не стал, вы можете скачать их и просмотреть у себя на ПК.Или качайте сразу
Чтобы повторить устройство, Вам понадобится:
Процессор ATmega32 в TQFP корпусе
Процессор для обработки ИК сигналов Attiny 2313
ИК-приемник TSOP 2236
10 8×8 матриц
Регистры сдвига 74HC595
Мультиплексор 74HC138
24C64 EEPROM
DS 1307 RTC
Программное обеспечение написано в среде Bascom.
Несколько фотографий:
Вытравленная печатная плата:
Закупленные радиодетали:
даташит на матричный индикатор.
файлы прошивки.
файлы печатной платы.
что это и как сделать своими руками
Преимущества светодиодов неоспоримы, сегодня они везде, в том числе и часах. Что представляют себя часы на светодиодных матрицах, о плюсах и недостатках разберем в рамках статьи. В конце статьи представлено подробное пошаговое руководство для изготовления устройства своими руками.
Что это такое
Часы на светодиодных матрицах — это электронные часы, в которых для индикации используются матрицы из множества светодиодов. Применение индикаторов другого типа — единственное их отличие.
Матрица — это набор светодиодов, собранных вместе в виде сетки с единым анодом или катодом. Как правило, разрешение таких индикаторов — количество точек по вертикали и горизонтали — 8×8.
Почему же такие часы набирают популярность, преимущества:
- Цена. Светодиодные матрицы дешевле семисегментных индикаторов аналогичных размеров.
- Яркость. Светодиоды горят ярче, чем семисегментные индикаторы, их лучше видно в местах, освещенных солнечными лучами. Многие производители также предусматривают конструктивную защиту диода от воздействия солнца.
- Функциональность. При помощи матрицы из светодиодов можно выводить не только цифры, но также различные буквы, знаки препинания, символы. При помощи набора LED-матриц можно выводить некоторую информацию в виде бегущей строки.
Светодиодные матрицы имеют и недостатки:
- Увеличенная сложность управления. Из-за большого количества элементов (в стандартной матрице их 64) управлять матричными индикаторами чем семисегментными. Для этого применяются микроконтроллеры, динамическая индикация и сдвиговые регистры.
- Угол обзора. Особенность светодиодов состоит в том, что они фокусируют свет в одном направлении. Это приводит к тому, что изображение на светодиодной матрице видно хорошо только под определенным углом.
- Непереносимость высоких температур. Нагревание снижает эффективность светодиодов и уменьшает срок службы.
- Перегорание отдельных светодиодов приведет к эффекту «битого пикселя» и ухудшению качества изображения.
Самодельные часы на светодиодных матрицах
Несмотря на большую популярность часов на светодиодных матрицах, в Рунете не так уж и много схем для их самостоятельного изготовления. Рассмотрим самую популярную.
Необходимые навыки для сборки устройства:
- изготовление печатных плат;
- пайка элементов: схема предполагает SMD-исполнение, это значит, что элементы будут устанавливаться прямо на поверхность платы;
- прошивка микроконтроллеров: в схеме используется МК ATMega16A;
- программирование МК: это не обязательно, поскольку для данного устройства уже имеется прошивка контроллера. Этот навык пригодится, если вы захотите изменить режим работы часов или расширить их функционал, например, добавив дополнительные элементы такие, как датчики температуры или влажности.
Из инструментов понадобятся:
- набор для изготовления плат;
- программатор МК;
- паяльник.
Рассмотрим подробнее схему устройства. Главным управляющим элементом является МК ATMega16A, он обеспечивает следующие возможности прибора:
- Отсчет времени и календарь. Ведется даже при отключении питания.
- Будильник. Здесь их 9 штук, можно запрограммировать на работу по дням недели.
- Измерение температуры. Конструкция часов позволяет установить два датчика температуры для измерений в комнате и на улице.
- Режим бегущей строки. Выдает следующую информацию: день недели, месяц, год, температура.
- Коррекция хода часов.
Большая часть функций возложена на микроконтроллер, что позволяет максимально разгрузить схему и использовать минимальное количество элементов.
В устройстве используется лишь две микросхемы: микроконтроллер и сдвиговый регистр TPIC6B595, также можно подключить два датчика температуры DS18B20 — один уличный, и второй комнатный.
Для индикации используются три светодиодные матрицы 8×8. В качестве диода D1 лучше использовать диод Шоттки. Диод в схеме обеспечивает переход на аварийное питание, а диод Шоттки обладает наименьшим падением напряжения и высокой скоростью переключения.
Процесс изготовления:
- Необходимо изготовить плату. Для этого потребуется: фольгированный текстолит, лазерный принтер, утюг и 150г хлористого железа. Сначала нужно распечатать чертеж платы на глянцевой бумаге с помощью лазерного принтера. Полученную распечатку следует приложить рисунком к текстолиту так, чтобы поверхность бумаги была ровной. Горячим утюгом нужно аккуратно провести по распечатке, чтобы не смять и не сместить её. Тонер расплавится и приклеит распечатку к текстолиту. Чтобы удалить бумагу, заготовку платы помещают в теплую воду. В результате мы получим чертеж платы, напечатанный на текстолите. Весь тонер должен быть перенесен на поверхность платы, в дорожках не должно быть разрывов. Теперь нужно протравить плату. Для этого заготовку на некоторое время помещают в раствор хлористого железа. Раствор готовится из расчета 150г порошка на 200мл воды. Плата будет готова, когда все лишнее медное покрытие растворится, и останутся лишь участки защищенные тонером. Протравленную плату нужно промыть в холодной воде. Тонер удаляется с помощью ацетона. Дорожки нужно покрыть припоем при помощи паяльника, площадки под SMD-элементы должны быть покрыты ровным слоем, без капель. Плата готова.
- С помощью программатора нужно прошить микроконтроллер. Для прошивки контроллера ATMega16A нужен программатор и софт. Используем недорогой и удобный программатор USBasp и программу AVRdude с графической оболочкой для удобства работы. Для подключения МК к компьютеру нужно найти по документации ножки SCK, RESET, MOSI, MISO и соединить их с соответствующими ножками программатора. После этого программатор можно подключать к порту USB. В программе AVRdude следует выбрать тип микроконтроллера — Atmega16A, и прошивку. Чтобы прошить контроллер нужно нажать кнопку Write для записи. Микроконтроллер прошит.
- Все элементы следует припаять к плате согласно схеме. На этом этапе нужно обратить внимание на правильное расположение микроконтроллера и аккуратно припаять его ножки так, чтобы случайно не замкнуть.
- С лицевой стороны платы устанавливаются светодиодные индикаторы, чтобы получился цельный блок.
- Полученную конструкцию можно поместить в какой-либо корпус, а индикаторы защитить при помощи стекла или прозрачного пластика. В зависимости от яркости светодиодов, можно выбрать затемненное защитное стекло — это улучшит читаемость.
О некоторых особенностях при сборке часов на светодиодной матрице с ATMega 16A доступно рассказывается в следующем видео.
Часы на светодиодных матрицах имеют много преимуществ перед приборами с другим типом индикации: дешевле, не засвечиваются солнцем, с их помощью можно вывести большее количество информации. Существует большое количество моделей часов на led матрицах, и каждый найдет для себя девайс с требуемым функционалом. Также такие часы несложно изготовить самому, как вы увидели из пошагового руководства выше, это не требует особенных инструментов или специальных навыков.