Часы со светодиодной индикацией своими руками. Большие светодиодные часы

Еще в юности мне хотелось собрать электронные часы. Мне казалось, что собрать часы, это было вершиной мастерства. В итоге я собрал часы с календарем и будильником на серии К176. Сейчас они уже морально устарели и мне захотелось собрать что-нибудь более современное. После долгих поисков по интернету (никогда не думал, что мне так трудно угодить;)) понравилась эта схема. Отличие от приведенной схемы в том, что не используется редкая микросхема ТРIC6В595 , а ее составной и более мощный аналог на микросхемах 74HC595 и ULN2003 . Исправления в схеме приведены ниже.



Схема электронных LED часов бегущая строка

Автор схемы уважаемый ОLED , прошивка тоже его. Часы индицируют текущее время, год, месяц и день недели а также температуру на улице и внутри дома бегущей строкой. Имеют 9 независимых будильников. Имеется возможность подстройки (коррекции) хода +- минуту в сутки, выбор скорости бега строки, смена яркости свечения светодиодов, в зависимости от времени суток.

При пропадании электричества, часы питаются либо от ионистора (емкости 1 Фарад хватает на 4 суток хода), либо от батарейки. Кому что по душе, плата рассчитана на установку того и другого. Имеют очень удобное и понятное меню управления (все управления производится всего двумя кнопками). В часах использованы следующие детали (все детали в СМД корпусах):

Микроконтролер АтМЕГА 16А

-
Сдвиговый регистр 74HC595

-
Микросхема ULN2803 (восемь ключей Дарлингтона)

-
Датчики температуры DS18B20 (устанавливаются по желанию)

-
25 резисторов на 75 Ом (типономинала 0805)

-
3 резистора 4.7кОм

-
2 резистора 1.5 кОм

-
1 резистор 3.6 кОм

-
6 СМД конденсаторов емкостью 0.1 мкф

-
1 конденсатор на 220 мкф

-
Часовой кварц на частоту 32768 герц.

-
Матрицы3 штуки марки 23088-АSR 60х60 мм - общий катод

-
Бузер любой на 5 вольт.



Плата печатная электронных LED часов бегущая строка

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


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

Самодельный корпус для LED часов

Для демонстрации работы часов приведено видео, оно не высокого качества, поскольку снималось фотоаппаратом, но уж какое есть.

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

Собрано уже четыре экземпляра данных часов, дарю каждый на день рождения родственникам. И всем они очень понравились. Если вам тоже захотелось собрать эти часы и у вас возникли вопросы, милости прошу на наш форум. С уважением, Войтович Сергей (Сергей-7 8 ).

Обсудить статью ЧАСЫ ЭЛЕКТРОННЫЕ СВЕТОДИОДНЫЕ

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

1. Устройства вывода

Итак, у нас есть некая платформа (Arduino, Raspberry, PIC/AVR/STM-контроллер, etc), и стоит задача подключить к нему некую индикацию. Есть множество вариантов, которые мы и рассмотрим.

Сегментная индикация

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

Осторожно, траффик!

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

Есть 1001 статья как подключить светодиод к микроконтроллеру, гугл в помощь. Сложности начинаются тогда, когда мы захотим сделать большие часы - ведь смотреть на мелкий индикатор не особо удобно. Тогда нам нужны такие индикаторы (фото с eBay):

Они питаются от 12В, и напрямую от микроконтроллера просто не заработают. Тут нам в помощь приходит микросхема CD4511 , как раз для этого предназначенная. Она не только преобразует данные с 4-битной линии в нужные цифры, но и содержит встроенный транзисторный ключ для подачи напряжения на индикатор. Таким образом, нам в схеме нужно будет иметь «силовое» напряжение в 9-12В, и отдельный понижающий преобразователь (например L7805) для питания «логики» схемы.

Матричные индикаторы

По сути, это те же светодиоды, только в виде матрицы 8х8. Фото с eBay:

Продаются на eBay в виде одиночных модулей либо готовых блоков, например по 4 штуки. Управление ими весьма просто - на модулях уже распаяна микросхема MAX7219 , обеспечивающая их работу и подключение к микроконтроллеру с помощью всего лишь 5 проводов. Для Arduino есть много библиотек, желающие могут посмотреть код.
Плюсы: невысокая цена, хорошие углы обзора и яркость.
Минус: невысокое разрешение. Но для задачи вывода времени вполне достаточно.

ЖК-индикаторы

ЖК-индикаторы бывают графические и текстовые.

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

Работать с ЖК-индикатором из кода несложно, но есть определенный минус - индикатор требует много управляющих линий (от 7 до 12) от микроконтроллера, что неудобно. Поэтому китайцы придумали совместить ЖК-индикатор с i2c-контроллером, получилось в итоге очень удобно - для подключения достаточно всего 4х проводов (фото с eBay).


ЖК-индикаторы достаточно дешевые (если брать на еБее), крупные, их просто подключать, и можно выводить разнообразную информацию. Единственный минус это не очень большие углы обзора.

OLED-индикаторы

Являются улучшенным продолжением предыдущего варианта. Варьируются от маленьких и дешевых с диагональю 1.1", до больших и дорогих. Фото с eBay.

Собственно, хороши всем кроме цены. Что касается мелких индикаторов, размером 0.9-1.1", то (кроме изучения работы с i2c) какое-то практическое применение им найти сложно.

Газоразрядные индикаторы (ИН-14, ИН-18)

Эти индикаторы сейчас весьма популярны, видимо из-за «теплого лампового звука света» и оригинальности конструкции.


(фото с сайта nocrotec.com)

Схема их подключения несколько сложнее, т.к. эти индикаторы для зажигания используют напряжение в 170В. Преобразователь из 12В=>180В может быть сделан на микросхеме MAX771 . Для подачи напряжения на индикаторы используется советская микросхема К155ИД1 , которая специально для этого и была создана. Цена вопроса при самостоятельном изготовлении: около 500р за каждый индикатор и 100р за К155ИД1, все остальные детали, как писали в старых журналах, «дефицитными не являются». Основная сложность тут в том, что и ИН-хх, и К155ИД1, давно сняты с производства, и купить их можно разве что на радиорынках или в немногих специализированных магазинах.

2. Выбор платформы

С индикацией мы более-менее разобрались, осталось решить, какую аппаратную платформу лучше использовать. Тут есть несколько вариантов (самодельные я не рассматриваю, т.к. тем кто умеет развести плату и припаять процессор, эта статья не нужна).

Arduino

Самый простой вариант для начинающих. Готовая плата стоит недорого (около 10$ на eBay с бесплатной доставкой), имеет все необходимые разъемы для программирования. Фото с eBay:

Под Arduino есть огромное количество разных библиотек (например для тех же ЖК-экранов, модулей реального времени), Arduino аппаратно совместима с различными дополнительными модулями.
Главный минус: сложность отладки (только через консоль последовательного порта) и довольно-таки слабый по современным меркам процессор (2КБайт RAM и 16МГц).
Главный плюс: можно сделать много чего, практически не заморачиваясь с пайкой, покупкой программатора и разводкой плат, модули достаточно соединить друг с другом.

32-разрядные процессоры STM

Для тех кто захочет что-то помощнее, есть готовые платы с процессорами STM, например плата с STM32F103RBT6 и TFT-экраном. Фото с eBay:

Здесь мы уже имеем полноценную отладку в полноценной IDE (из всех разных мне больше понравилась Coocox IDE), однако понадобится отдельный программатор-отладчик ST-LINK с разъемом JTAG (цена вопроса 20-40$ на eBay). Как вариант, можно купить отладочную плату STM32F4Discovery, на которой этот программатор уже встроен, и его можно использовать отдельно.

Raspberry PI

И наконец, для тех кто хочет полной интеграции с современным миром, есть одноплатные компьютеры с Linux, всем уже наверное известные Raspberry PI. Фото с eBay:

Это полноценный компьютер с Linux, гигабайтом RAM и 4х-ядерным процессором на борту. С краю платы выведена панель из 40 пинов, позволяющая подключать различную периферию (пины доступны из кода, например на Python, не говоря о C/C++), есть также стандартный USB в виде 4х разъемов (можно подключить WiFi). Так же есть стандартный HDMI.
Мощности платы хватит к примеру, не только чтобы выводить время, но и чтобы держать HTTP-сервер для настройки параметров через web-интерфейс, подгружать прогноз погоды через интернет, и так далее. В общем, простор для полета фантазии большой.

С Raspberry (и процессорами STM32) есть одна единственная сложность - ее пины используют 3-вольтовую логику, а большинство внешних устройств (например ЖК-экраны) работают «по старинке» от 5В. Можно конечно подключить и так, в принципе заработает, но это не совсем правильный метод, да и испортить плату за 50$ как-то жалко. Правильный способ - использовать «logic level converter», который на eBay стоит всего 1-2$.
Фото с eBay:

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

ESP8266

Способ скорее экзотический, но довольно-таки перспективный в силу компактности и дешевизны решения. За совсем небольшие деньги (около 4-5$ на eBay) можно купить модуль ESP8266, содержащий процессор и WiFi на борту.
Фото с eBay:

Изначально такие модули предназначались как WiFi-мост для обмена по serial-порту, однако энтузиастами было написано множество альтернативных прошивок, позволяющих работать с датчиками, i2c-устройствами, PWM и пр. Гипотетически вполне возможно получать время от NTP-сервера и выводить его по i2c на дисплей. Для тех кто хочет подключить много различной периферии, есть специальные платы NodeMCU с большим числом выводов, цена вопроса около 500р (разумеется на eBay):

Единственный минус - ESP8266 имеет очень мало памяти RAM (в зависимости от прошивки, от 1 до 32КБайт), но задача от этого становится даже интересней. Модули ESP8266 используют 3-вольтовую логику, так что вышеприведенный конвертор уровней тут также пригодится.

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

Вместо заключения

Я в итоге остановился на использовании Raspberry PI с текстовым индикатором, настроенным на работу с псевдографикой (что вышло дешевле чем графический экран той же диагонали). Сфоткал экран настольных часов во время написания этой статьи.

Часы выводят точное время, взятое из Интернета, и погоду которая обновляется с Яндекса, все это написано на Python, и вполне работает уже несколько месяцев. Параллельно на часах запущен FTP-сервер, что позволяет (вкупе с пробросом портов на роутере) обновить на них прошивку не только из дома, но и из любого места где есть Интернет. Как бонус, ресурсов Raspberry в принципе хватит и для подключения камеры и/или микрофона с возможностью удаленного наблюдения за квартирой, или для управлением различными модулями/реле/датчиками. Можно добавить всякие «плюшки», типа светодиодной индикации о пришедшей почте, и так далее.

PS: Почему eBay?
Как можно было видеть, для всех девайсов приводились цены или фото с ебея. Почему так? К сожалению, наши магазины часто живут по принципу «за 1$ купил, за 3$ продал, на эти 2 процента и живу». В качестве простого примера, Arduino Uno R3 стоит (на момент написания статьи) 3600р в Петербурге, и 350р на eBay с бесплатной доставкой из Китая. Разница действительно на порядок, безо всяких литературных преувеличений. Да, придется подождать месяц чтобы забрать посылку на почте, но такая разница в цене думаю, того стоит. Но впрочем, если кому-то надо прямо сейчас и срочно, то наверно и в местных магазинах есть выбор, тут каждый решает сам.

На фото прототип, собранный мной для отладки программы, которая будет управлять всем этим хозяйством. Вторая arduino nano в верхнем правом углу макетки не относится к проекту и торчит там просто так, внимание на нее можно не обращать.

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

Основная сложность в моем случае - это то, что 2.7 дюймовые индикаторы с общим анодом, и их надо было во первых как то подружить с max7219, которая заточена под индикаторы с общим катодом, а во вторых решить проблему с их питанием, так как им нужно 7,2 вольта для свечения, чего одна max7219 обеспечить не может. Попросив помощи на одном форуме я получил таки ответ.

Решение на скриншоте:


К выходам сегментов из max7219 цепляется микросхемка , которая инвертирует сигнал, а к каждому выводу, который должен подключаться к общему катоду дисплея цепляется схемка из трех транзисторов, которые так же инвертируют его сигнал и повышают напряжение. Таким образом мы получаем возможность подключить к max7219 дисплеи с общим анодом и напряжением питания более 5 вольт

Для теста подключил один индикатор, все работает, ничего не дымит

Начинаем собирать.

Схему решил разделить на 2 части из-за огромного количества перемычек в разведенном моими кривыми лапками варианте, где все было на одной плате. Часы будут состоять из блока дисплея и блока питания и управления. Последний было решено собрать первым. Эстетов и бывалых радиолюбителей прошу не падать в обморок из-за жестокого обращения с деталями. Покупать принтер ради ЛУТа нет никакого желания, поэтому делаю по старинке - тренируюсь на бумажке, сверлю отверстия по шаблону, рисую маркером дорожки, затем травлю.

Принцип крепления индикаторов оставил тот же, как и на .

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

Процесс разметки







Затем с помощью шаблона сверлим отверстия в нужных местах и примеряем все компоненты. Все встало безупречно.

Рисуем дорожки и травим.




купание в хлорном железе

Готово!
плата управления:


плата индикации:


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

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




плата управления сзади

Плата индикации сзади:

Ужасный монтаж смд:


Запуск

После припаивания всех шлейфов, кнопок и датчиков пришло время все это включить. Первый запуск выявил несколько проблем. Не светился последний большой индикатор, а остальные светились тускло. С первой проблемой расправился пропаиванием ножки смд-транзистора, со второй - регулировкой напряжения, выдаваемого lm317.
ОНО ЖИВОЕ!

Совсем не давно появилась необходимость в доме заиметь часы, но только электронные , так как я не люблю стрелочные, потому что они тикают. У меня есть не малый опыт в пайке и вытравки схем. Порыскав по просторам Интернета и почитав некоторую литературу, я решил выбрать самую простую схему, так как мне не нужны часы с будильником.

Выбрал эту схему так как по ней легко сделать часы своими руками

Приступим, так что же нам надо для того, чтобы сделать себе часы своими руками? Ну конечно руки, умение (даже не большое) чтения схем, паяльник и детали. Вот полный перечень того, что я использовал:

Кварц на 10 мГц – 1 шт, микроконтроллер ATtiny 2313, резисторы на 100 Ом – 8 шт., 3 шт. на 10 кОм, 2 конденсатора по 22 пФ, 4 транзистора, 2 кнопки, светодиодный индикатор 4 разрядный KEM-5641-ASR (RL-F5610SBAW/D15). Монтаж я выполнял на одностороннем текстолите.

Но в этой схеме есть недостаток : на выводы микроконтроллера (далее МК), которые отвечают за управление разрядами, поступает довольно таки приличная нагрузка. Ток в общей сумме намного превышается от максимального тока порта, но при динамической индикации МК не успевает перегреваться. Для того чтобы МК не вышел из строя, добавляем в цепи разрядов 100 Ом резисторы.

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

Электронные часы, выполненные по выше указанной схеме, могут только показывать время (часы и минуты), а секунды показывает точка между сегментами , которая мигает. Для управления режимом работы часов в их структуре предусмотрены кнопочные переключатели, которые управляют настройкой часов и минут. Питание данной схемы осуществляется от блока питания в 5В. При изготовлении печатной платы в схему был включен 5В стабилитрон.

Так как у меня имеется БП на 5В, я из схемы исключил стабилитрон.

Чтобы изготовить плату, выполнялось нанесение схемы с помощью утюга. То есть печатная схема распечатывалась на струйном принтере с использованием глянцевой бумаги, ее можно взять с современных глянцевых журналов. После вырезался текстолит нужных размеров. У меня размер получился 36*26 мм. Такой маленький размер из-за того, что все детали выбраны в SMD корпусе.

Вытравка платы осуществлялась с помощью хлорного железа (FeCl 3 ) . По времени вытравка заняла примерно час, так как ванночка с платной стояла на камине, высокая температура влияет на время вытравки, не используемой меди в плате. Но не стоит переусердствовать с температурой.

Пока шел процесс вытравки, дабы не ломать себе голову и не писать прошивку для работы часов, пошел на просторы Интернета и нашел под данную схему прошивку. Как прошивать МК, так же можно найти в Интернете. Мною был использован программатор, который прошивает только МК компании ATMEGA.

И вот наконец-то наша плата готова и мы можем приступить к пайке наших часов. Для пайки нужен паяльник на 25 Вт с тонким жалом для того, чтобы не спалить МК и другие детали. Пайку осуществляем осторожно и желательно с первого раза припаиваем все ножки МК, но только по отдельности. Для тех, кто не в теме знайте, что детали, выполненные в SMD корпусе, имеют на своих выводах олово, для быстрой пайки.

А вот так вот выглядит плата с припаянными деталями.


Большие часы на светодиодах

Вступление.

Началось всё так. На даче у меня был старый механический будильник (made in USSR), у которого были проблемы с механикой. Я решил собрать электронные часы. Первая проблема - какой индикатор выбрать. ВЛИ и ГРИ не подходать из-за больших перепадов температур на даче. ЖКИ отпадает по той же причине. Остаётся светодиодный индикатор. Мне надоело разглядывать мелкие цифры на индикаторах, а большие семисегментники редкие и дорогие. Решено было сделать индикатор с высотой цифры 50мм из отдельных зелёных светодиодов.

С индикатором разобрались, но им нужно как-то управлять. При этом часы должны идти даже при длительном отсутсвии питания. Будем делать на МК ATTiny2313 и микросхеме RTC DS1307, которая так же имеет встоенный контроллер питания и позволяет подключить батарейку.

1. Индикатор.

Делать будем, как я уже сказал, из отдельных зелёных светодиодов диаметром 5мм. Вот схема индикатора:

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

2. Основная часть.

Схема, как я уже говорил, на ATTiny2313 и DS1307. Вот она:

Тут уже пояснения требуются. Справа два сдвоенных семисегментника и два светодиода - внутренняя схема маленького индикатора с ОА. Зачем два индикатора? Ночью большой индикатор ярким свечением может мешать спать (часы будут около кровати), по этому индикацию можно переключить на маленький индикатор переключателем SW1. В положении "Ночн." работает маленький индикатор, в положении "Дневн." - большой. Этот маленький индикатор я достал из стиральной машины, распиновка есть на печетке. Батрейка на 3В, CR2032. Транзисторы Q1-Q4 можно заменить на любые другие маломощные PNP транзисторы, например на КТ315. Q6-Q9 - на PNP током КЭ не менее 1А, Q5 - на NPN с током коллектора не менее 0,4А. Блок питания может быть любой с напряжением 9-20В, полярность не важна, можно даже переменку пускать. Ток не менее 1А. Стабилизатор U4 нужно установить на радиатор. Кстати, чем меньше входное напряжение - тем легче живётся стабилизатору. У меня БП такой:

Теперь переходим к сборке.

3. Сборка.

Идём в магазин и покупаем детали.

Делаем платы и начинаем паять. Запаять 88 светодиодов, столько же резисторов и 44 диода - не легко, но оно того стоит.

Теперь соединяем всё проводами. Я использовать шлейфы и разъёмы PLS/PBS. Вам помогут эти картинки:

Теперь прошиваем МК. Вот фьюзы:

И включаем:

Кнопки и разъёмы я использовал такие:

4. Корпус.

Корпус я сделал из фанеры и бруска 20*40, зашкурил и покрыл лаком. Сзади поставил два крепежа для крепления на стену.

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

Теперь несколько фотографий:

В продолжение темы:
Linux

Социальная сеть «Фотострана» многим не нравится своей навязчивостью, что также проявляется, когда пользователь желает удалить свой аккаунт. В самой сети есть подводные камни,...

Новые статьи
/
Популярные