Led часы своими руками. Светодиодные часы своими руками

Часы со светодиодным семисегментным индикатором на микросхеме К145ИК1911

История этих часов появления на сайте немного иная, от других схем на сайте.

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

Кратко о схеме.Это схема электронных часов своими руками выполненная на микросхеме К145ИК1911 , и время выводится на семи сегментные светодиодные индикаторы.И так его статья.Смотрим все.

Схема часов:


Для увеличения снимка, его просто стоит увеличить нажатием.И сохранить компьютер.

Не так давно передо мной встала задача – либо купить новые часы, либо собрать новые самостоятельно. Требования к часам выдвигались простые – на дисплее должны отображаться часы и минуты, должен быть будильник, причём, в качестве устройства отображения должны использоваться светодиодные семисегментные индикаторы. Не хотелось нагромождать кучу логических микросхем, а с программированием контроллеров связываться не было желания. Выбор остановил на разработке советской электронной промышленности – микросхеме К145ИК1901 .

В магазине на тот момент её не оказалось, но был аналог, в 40 выводном корпусе – К145ИК1911. Наименование выводов данной микросхемы ничем не отличается от предыдущей, различие – в нумерации.



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

В качестве драйверов строк – J1-J7 можно применить транзисторы КТ3107 с буквенным индексом И, А, Б. Для драйверов выбора сегментов D1-D4 пойдут КТ3102И, либо КТ3117А, КТ660А, а также любые другие с максимальным напряжением коллектор-эмиттер не менее 35 В и током коллектора не менее 100 мА. Ток сегментов индикаторов регулируется резисторами в коллекторных цепях драйверов строк.



Для разделения разрядов часов и минут используется точка, мигающая с частотой 1 Гц.

Эта частота присутствует на выводе микросхемы Y4, после того, как начался отсчёт времени. В данной схеме также предусмотрена возможность отображения на дисплее вместо часов и минут – минут и секунд соответственно. Переход в данный режим осуществляется нажатием на кнопку «Сек.». Возврат к индикации времени часов и минут осуществляется после нажатия кнопки «Возврат». Данная микросхема обеспечивает возможность установки двух будильников одновременно, но в данной схеме второй будильник не используется за ненадобностью. В качестве звукоизлучателя использована пьезо-пищалка со встроенным генератором, с напряжением питания 12В. Сигнал включения будильника снимается с вывода Y5 микросхемы. Для обеспечения прерывистого звучания, сигнал модулируется частотой 1 Гц, используемой для индикации секундного ритма (точки). Для более подробного изучения функционала микросхемы К145ИК1901(11) можно обратиться к документации, которую в последнее время можно без труда найти в сети. Питание микросхемы должно осуществляться отрицательным напряжением -­27В±10%. Согласно проведённым экспериментам, микросхема сохраняет работоспособность даже при напряжении -19В, причём точность хода часов при этом ничуть не пострадала.

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

Ну вот кончилась статься на данный момент.Которая будет еще дорабатываться и пополняться.А я выражаю благодарность ее автору-Федоренко Евгений,по всем вопросам а так же дать его почту.Пишите на Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

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

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

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

Кварц на 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 корпусе, имеют на своих выводах олово, для быстрой пайки.

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

Часы со светодиодной подсветкой и пульсирующей минутной стрелкой на микроконтроллере Arduino
Эти уникальные часы со светодиодной подсветкой и пульсирующей минутной стрелкой удалось изготовить благодаря использованию микросхемы ШИМ-контроллера TLC5940. Его главной задачей является расширить количество контактов с ШИМ-модуляцией. Еще одной особенностью данных часов является переделанный аналоговый вольтметр в прибор измеряющий минуты. Для этого на стандартном принтере была распечатана новая шкала и наклеена поверх старой. Как таковая, 5-я минута не отсчитывается, просто в течение пятой минуты счетчик времени показывает стрелку, упершуюся в конец шкалы (зашкаливает). Основное управление реализовано на микроконтроллере Arduino Uno.

Для того чтобы подсветка часов не светилась слишком ярко в темной комнате, была реализована схема автоматической подстройки яркости в зависимости от освещенности (использовался фоторезистор).

Шаг 1: Необходимые компоненты



Вот что потребуется:

  • Модуль аналогового вольтметра на 5V DC;
  • Микроконтроллер Arduino UNO или другой подходящий Arduino;
  • Монтажная плата Arduino (прото плата);
  • Модуль часов реального времени DS1307 (RTC);
  • Модуль с ШИМ-контроллером TLC5940;
  • Лепестковые светодиоды подсветки – 12 шт.;
  • Компоненты для сборки схемы автоматического регулирования яркости (LDR).

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

Шаг 2: Циферблат




Циферблат состоит из трех деталей (слоев) вырезанных на станке лазерной резки из 3 мм листа МДФ, которые скрепляются между собой с помощью болтов. Пластина без прорезей (внизу справа на картинке) помещается под другой пластиной для позиционирования светодиодов (внизу слева). Затем, отдельные светодиоды помещаются в соответствующие пазы, и сверху одевается лицевая панель (сверху на рисунке). По краю циферблата просверлены четыре отверстия, через которые все три детали скрепляются вместе с помощью болтов.

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

Технический чертеж деталей для циферблата доступен по :

Шаг 3: Разработка схемы



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

Шаг 4: Подключение монтажной платы Arduino





  1. Первым делом надо распаять все игольчатые контакты на монтажных и секционных платах;
  2. Далее, ввиду того, что питание 5V и GND используют очень много плат и периферийных устройств, для надежности, было припаяно по два провода на 5V и GND на монтажной плате;
  3. Далее был установлен ШИМ-контроллер TLC5940 рядом с используемыми контактами;
  4. После выполняется подключение контроллера TLC5940, согласно схеме подключения;
  5. Для того чтобы была возможность использовать батарею, был установлен модуль RTC на краю монтажной платы. Если припаять его посередине платы, то не будет видно обозначение контактов;
  6. Выполнено подключение модуля RTC, согласно схеме подключения;
  7. Собрана схема автоматического контроля яркости (LDR), ознакомиться можно по ссылке
  8. Выполнено подключение проводов для вольтметра, путем подключения проводов к выводу 6 и GND.
  9. В конце были припаяны 13 проводов для светодиодов (На практике оказалось, что это было лучше сделать до того, как приступать к шагу 3).

Шаг 5: Программный код

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

  • Перед прошивкой Arduino, нужно раскомментировать строку, которая устанавливает время:
    rtc.adjust(DateTime(__DATE__, __TIME__))
    После прошивки контроллера с этой строкой (время задано), нужно опять ее закомментировать и прошить контроллер заново. Это позволяет модулю RTC использовать батарею, для запоминания времени, если пропадет основное питание.
  • Каждый раз, когда вы используете "Tlc.set ()", вам нужно использовать "Tlc.update"

Шаг 6: Внешнее кольцо

Внешнее кольцо для часов было напечатано на 3D-принтере Replicator Z18. Оно прикрепляется к часам с помощью винтов на лицевой стороне часов. Ниже прилагается файл с 3D-моделью кольца для печати на 3D-принтере.

Шаг 7: Сборка часов


Микроконтроллер Arduino со всей остальной электроникой был закреплен на задней стороне часов с помощью саморезов и гаек в качестве распорок. Затем подключены все светодиоды, аналоговый вольтметр и LDR к проводам, которые ранее были подпаяны к монтажной плате. Все светодиоды соединены между собой одной ножкой и подключены к контакту VCC на контроллере TLC5940 (по кругу просто припаян кусок проволоки).

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

Привет, 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 с бесплатной доставкой из Китая. Разница действительно на порядок, безо всяких литературных преувеличений. Да, придется подождать месяц чтобы забрать посылку на почте, но такая разница в цене думаю, того стоит. Но впрочем, если кому-то надо прямо сейчас и срочно, то наверно и в местных магазинах есть выбор, тут каждый решает сам.

Наручные самодельные часы на вакуумном индикаторе, сделанные в стиле стимпанк. Материал взят с сайта www.johngineer.com. Эти наручные часы собраны на основе ИВЛ-2 дисплея. Изначально купил несколько таких индикаторов, чтобы создать стандартные настольные часы, но после размышлений понял, что можно построить стильные наручные часы тоже. Индикатор имеет ряд особенностей, которые делают его более подходящим для этой цели, чем большинство других советских дисплеев. Вот параметры:

  • Номинальный ток накала 60mA 2.4V, но работает и с 35mA 1.2V.
  • Небольшой размер - всего 1.25 x 2.25"
  • Может работать с относительно низким напряжением сетки 12V (до 24)
  • Потребляет только 2,5 мА/сегмент при 12.5V

Все фотки можно сделать по-больше кликнув на них. Самым крупным препятствием на пути к успешному завершению проекта было питание. Поскольку эти часы задумывались как часть костюма, не беда что аккумулятор работает всего 10 часов. Остановился на AA и AAA.

Схема довольно проста. Микроконтроллер Atmel AVR ATMega88, и часы реального времени - DS3231. Но есть и другие микросхемы, намного дешевле, которые будут работать так же хорошо в генераторе.

VFD-дисплей управляется MAX6920 - 12-разрядный регистр сдвига с высоким напряжением (до 70V) выходов. Он прост в использовании, очень надежный и компактный. Также возможно для драйвера дисплея спаять кучу дискретных компонентов, но это было непрактично из-за нехватки места.

Напряжение аккумулятора питает также повышающий преобразователь на 5 В (MCP1640 SOT23-6), который нужен для нормальной работы AVR, DS3231, и MAX6920, а также выступает в качестве входного напряжения для второго повышающего преобразователя (NCP1403 SOT23-5), который производит 13V для напряжения сетки вакуумного индикатора.

В часах есть три датчика: один аналоговый и два цифровых. Аналоговый датчик - это фототранзистор, он используется для выявления уровня освещения (Q2). Цифровые датчики: BMP180 - давления и температуры, и MMA8653 - акселерометр для обнаружения движения. Оба цифровых датчика связаны по шине I2C с DS3231.

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