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

Часы со светодиодной подсветкой и пульсирующей минутной стрелкой на микроконтроллере 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 (по кругу просто припаян кусок проволоки).

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

Часов с звуковым сигналом будильника таймер для управления бытовыми приборами.

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

Область применения таймера обширная:
-управление осветительными приборами;
-управление поливом домашних и садовых растений;
-управление вентиляцией;
- управление аквариумом;
- управление электрообогревателями и так далее.

Предлагаемый таймер может быстро и недорого сделать даже начинающий радиолюбитель.
Я сделал его на базе конструктора часов . ()

Применять таймер мне нужно было для управления поливом растений на даче.

Весь процесс изготовления посмотреть в видео:


Перечень инструментов и материалов
- любые электронные часы со звуковым сигналом будильника;
-отвертка;
- ножницы;
-паяльник;
-кембрик;
- два реле на 12В;
-блок питания на 12В от адаптера;
-соединительные провода;
-фольгированный текстолит для печатной платы или макетная плата;
-реле времени промышленное или самодельное;
-резистор;
-транзисторы КТ815(или аналоги);
-диод.

Шаг первый. Распайка платы таймера.
Схема таймера
Все что необходимо это распаять по схеме компоненты на макетную плату и припаять два провода от пъезоизлучателя часов. Собираем простейшую схему с промежуточным реле и транзисторным ключом. При подаче первого импульса звукового сигнала с часов включается реле Р1 , нормально-разомкнутый контакт замыкается и включает нагрузку, одновременно через второй нормально-разомкнутый контакт реле Р1 и нормально-замкнутый контакт реле времени происходит самоблокировка реле Р1. Вместе с нагрузкой включается реле времени РВ- начинается отсчет заданного времени работы нагрузки. По окончанию этого времени РВ размыкает контакт и реле Р1 обесточивается, нагрузка выключена. Схема готова к следующему циклу. Диод служит для предотвращения обратного импульса в схему часов(можно использовать любой маломощный диод). Светодиод для индикация включения нагрузки. В этой схеме нужно промежуточное реле с двумя нормально разомкнутыми контактами, но у меня в наличии не было -я применил два китайских реле(катушки подключены параллельно).Если нагрузка будет более мощной,то соответственно надо использовать реле с более мощными контактами. У меня был адаптер на 12В, я установил его схему прямо на макетную плату. В принципе можно применить любой маломощный источник питания на 12В.


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


Шаг второй. Проверка работы таймера.
У меня схема заработала при первом включении.
Осталось задать время будильника. В моих часах есть две установки времени будильника. Для моего случая как раз достаточно –включить полив например утром в 7часов на выдержку в один час, а вечером в 20 часов еще раз полить. При нажатии кнопок часов издаются звуковые сигналы, поэтому при настройке схему таймера надо обесточить, чтобы исключить ложные срабатывания. В моих часах есть функция «куранты» -каждый час с 8 до 20часов то есть можно кроме будильника использовать при необходимости эти сигналы. Если не нужно то есть функция «куранты» отключается.

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

На весь работу пошло пару выходных вечеров и 75 рублей (

Часы со светодиодным семисегментным индикатором на микросхеме К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 для просмотра.

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

Конструкция собрана на микроконтроллере и часов реального времени DS1307 . В качестве индикатора текущего времени использован четырехразрядный семисегментный светодиодный индикатор (ультраяркий, голубого цвета свечения, что неплохо смотрится в темное время, и, заодно, часы играют роль ночника). Управление часами происходит двумя кнопками. Благодаря использованию микросхемы часов реального времени DS1307, алгоритм программы получился довольно простым. Общение микроконтроллера с часами реального времени происходит по шине I2C, и организованно программным путем.

Схема часов:

К сожалению, в схеме есть ошибка:
— выводы МК к базам транзисторов нужно подключать:
РВ0 к Т4, РВ1 к Т3, РВ2 к Т2, РВ3 к Т1
или поменять подключение коллекторов транзисторов к разрядам индикатора:
Т1 к DP1 ….. Т4 к DP4

Детали, используемые в схеме часов:

♦ микроконтроллер ATTiny26:

♦ часы реального времени DS1307:

♦ 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения):

♦ кварц 32,768 кГц, с входной емкостью 12,5 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов:

♦ все транзисторы — NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
♦ микросхемный стабилизатор напряжения типа 7805
♦ все резисторы мощностью 0,125 ватт
♦ полярные конденсаторы на рабочее напряжение не ниже напряжения питания
♦ резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032

Для питания часов можно использовать любое ненужное зарядное устройство сотового телефона (в этом случае, если напряжение на выходе зарядного устройства в пределах 5 вольт ± 0,5 вольта, часть схемы — стабилизатор напряжения на микросхеме типа 7805, можно исключить)
Ток потребления устройством составляет — 30 мА.
Батарейку резервного питания часов DS1307 можно и не ставить, но тогда, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц, от вывода SQW DS1307) служит для разделения часов и минут на индикаторе.

Установки микроконтроллера заводские: тактовая частота — 1МГц, FUSE-биты трогать не надо.

Алгоритм работы часов (в Algorithm Builder):

1. Установка указателя стека
2. Настройка таймера Т0:
— частота СК/8
— прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
3. Инициализация портов (выводы РА0-6 и РВ0-3 настраиваются на выход, РА7 и РВ6 на вход)
4. Инициализация шины I2C (выводы РВ4 и РВ5)
5. Проверка 7-го бита (СН) нулевого регистра DS1307
6. Глобальное разрешение прерывания
7. Вход в цикл с проверкой нажатия кнопки

При первом включении, или повторном включении при отсутствии резервного питания DS307, происходит переход в первоначальную установку текущего времени. При этом: кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц.
При нажатии кнопки S2 (S4 — в программе) происходит глобальный запрет прерываний, программа переходит в подпрограмму коррекции времени. При этом, кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу.

Часы показали хорошую точность хода, уход времени за месяц — 3 секунды.
Для улучшения точности хода, кварц рекомендуется подключать к DS1307, как указано в даташите:

Программа написана в среде «Algorithm Builder».
Вы можете, на примере программы часов, ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).

Фотография собранного устройства и печатная плата в формате.lay от читателя сайта Анатолия Пильгук, за что ему огромное спасибо!

В устройстве применены: Транзисторы — СМД ВС847 и ЧИП резисторы

Приложения к статье:

(42,9 KiB, 3 038 hits)

(6,3 KiB, 4 058 hits)

(3,1 KiB, 2 500 hits)

(312,1 KiB, 5 833 hits)


Второй вариант программы часов в АБ (для тех у кого нескачивается верхний)

(11,4 KiB, 1 842 hits)

20 августа 2015 в 12:34

Самодельные электронные часы, элементная база - часть 1, измерение времени

  • DIY или Сделай сам

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

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

Итак, какие доступные в «железе» способы измерения времени мы можем использовать?

Встроенный RC-генератор процессора

Самая простая идея, которая может придти в голову - это просто настроить программный таймер, и им отсчитывать секунды. Так вот, эта идея никуда не годится. Часы-то работать конечно будут, только вот точность встроенного генератора никак не регламентируется, и может «плавать» в пределах 10% от номинала. Вряд ли кому-то нужны часы, уходящие в месяц на 15 минут.

Модуль реального времени DS1307

Более правильный вариант, он же использующийся в большинстве «народных» изделий - это часы реального времени. Микросхема обменивается с микроконтроллером по I2C, требует минимума обвязки (кварц и пара резисторов). Цена вопроса около 100р за микросхему, или около 1$ на ебее за готовую плату с микросхемой, модулем памяти и разъемом для батарейки.

Схема из даташита:

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

Казалось бы, все хорошо, если бы не одна проблема - невысокая точность. Примерная точность часовых кварцев - 20-30ppm. Обозначение ppm - parts per million, показывает число миллионных долей. Казалось бы, 20миллионных - это супер, однако для частоты в 32768Гц получается 20*32768/1000000 = ±0,65536Гц, т.е. уже полгерца. Путем несложных подсчетов видно, что генератор с такой разницей за сутки «натикает» лишних (или недостающих) 56тыс тактов, что соответствует 2 секундам в день. Кварцы бывают разные, некоторые пользователи писали и об ошибке в 5 секунд в день. Как-то не очень точно - за месяц такие часы уйдут как минимум, на минуту. Это уже приличная разница, заметная невооруженным глазом (когда любимый сериал бабушки начинается в 11.00, а часы показывают 11.05, разработчику таких часов перед родственниками будет неудобно).

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

Модуль реального времени DS3231

Мы не первые, кто задался вопросом точности, и компания Dallas пойдя навстречу пожеланиям, выпустила более совершенный модуль - DS3231. Он называется «Extremely Accurate Real Time Clock», имеет встроенный генератор с температурной коррекцией. Точность в 10 раз выше, и составляет 2ppm. Цена вопроса чуть повыше, но корпус микросхемы рассчитан под SMD-монтаж, паять не так удобно, зато можно купить на ебее готовую плату.


(фото с сайта продавца)

Точность в 6 секунд в месяц, это уже неплохой результат. Но мы пойдем дальше - в идеале, часы в 21 веке вообще не нужно подстраивать.

Радиомодуль DCF-77

Метод скорее экзотический, но для полноты картины его нельзя не упомянуть. Немногие знают, но сигналы точного времени передаются по радио еще с 70х годов. Передатчик DCF-77 расположен в Германии недалеко от Франкфурта, и на СДВ-частоте 77.5КГц передаются метки точного времени (да, у них уже 20 лет назад были настенные и настольные часы, которые не надо подстраивать).

Способ хорош тем, что схема имеет малое энергопотребление, так что сейчас производятся даже наручные часы с такой технологией. Готовую плату приема DCF-77 можно купить на ebay, цена вопроса 20$.

Многие часы и метеостанции имеют возможность приема DCF-77, проблема лишь в том, что до России сигнал практически не доходит. Карта покрытия с Википедии:

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

GPS-модуль

Если часы будут стоять недалеко от окна, то вполне реальный метод получения точного времени - GPS-модуль. Эти модули можно недорого купить на ebay (цена вопроса 10-15$). Например, Ublox NEO-6M, подключается напрямую к serial-пинам процессора, и выдает строки NMEA на скорости 9600.

Данные приходят примерно в таком формате " $GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A", и распарсить их даже для слабой Arduino труда не составляет. Патриоты кстати, могут приобрести более дорогой модуль Ublox NEO-7N, поддерживающий (по отзывам) как GPS так и «Глонасс».

Очевидно, что про разные часовые пояса GPS-модуль ничего не знает, так что их вычисление и смену летнего/зимнего времени, разработчику придется продумать самому. Другой минус использования GPS - относительно высокое энергопотребление (впрочем, некоторые модули можно отдельными командами переводить в «спящий режим»).

Wi-Fi

И наконец, последний (и самый очевидный на сегодняшний момент), способ получения точного времени - это брать его из Интернета. Здесь есть два подхода. Первый, и наиболее простой - использовать в качестве платы часов что-то типа Raspberry PI с Линуксом, тогда делать ничего не надо, все будет работать «из коробки». Если же хочется «экзотики» - то самым интересным вариантом является модуль esp8266.

Это недорогой (цена вопроса около 200р на ebay) WiFi-модуль может обмениваться с сервером по serial-порту процессора, при желании его можно также перепрошить (сторонних прошивок довольно много), и часть логики (например опрос сервера времени) сделать в самом модуле. Сторонними прошивками поддерживается куча всего, от Lua до C++, так что вариантов «размять мозги» вполне достаточно.

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




Top