Часы электронные светодиодные. Как самому сделать электронные часы в ретро стиле Цифровые часы своими руками

Концепция часов с большими цифрами

Конструктивно девайс будет состоять из двух плат – одна над другой. Первая плата – матрица светодиодов, образующих разряды часов и минут, Вторая – силовая часть (управление светодиодами), логика и питание. Такая конструкция сделает часики более компактным (без корпуса примерно 22см х 9 см, толщиной сантиметра 4-5) + даст возможность прикрутить матрицу к другому проекту, если что то пойдет не так.

Силовая часть будет построена на базе драйвера UL2003 и транзисторных ключах. Логическая - на Atmega8 и DS1307. Питание: 220В - трансформатор; логика 5В (через 7805), силовая часть - 12В (через LM2576ADJ). Отделено будет предусмотрена кроватка для батарейки 3В для автономного питания часов реального времени - DS1307.

Думаю использовать Atmega8 и DS1307 (часики планирую подвесить под потолком, и что бы в случае пропадания электричества каждый раз не лазить за настройкой), однако разводка платы будет предполагать возможность работы девайса и без DS1307 (на первое время, а может и навсегда – уж как получится).

Таким образом, в зависимости от комплектации алгоритм работы программы часов будет следующим:

Atmega8 – счетчик времени по таймеру. Работа в цикле без пауз: опрос клавиатуры, корректировка времени (если необходимо), отображение 4 разрядов и разделителя.

Atmega8 + DS1307 . Работа в цикле без пауз: опрос клавиатуры, корректировка времени DS1307 (если необходимо), зачитка времени с DS1307, отображение 4 разрядов и разделителя. Или другой вариант – зачитка с DS1307 по таймеру, остальное в цикле (пока не знаю как лучше).

Сегмент представляет собой 4 красных светодиода, соединенных между собой последовательно. Одна цифра – 7 сегментов с общим анодом. Сегменты не планирую разделять шаблоном «восьмерки», как это сделано в обычных индикаторах.

Силовая часть часов

Силовая часть часов построена на драйвере UL2003 и транзисторных ключах VT1 и VT2.

UL2003 отвечает за управление сегментами индикатора, ключи – за управление разрядами.

Отдельно управляется разделитель часов и минут (сигнал K8).

Управление сегментами, разрядами и разделителем осуществляется от микроконтроллера подачей положительного потенциала (т.е. подачей +5В) на К1-К8, Z1-Z4.

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

В качестве транзистора VT1 (BCP53) можно использовать транзистор BCP52.

Схема силовой части часов с большими цифрами

Печатная плата семисегментного индикатора для часов с большими цифрами

Как я говорил ранее, конструктивно часы будут состоять из двух печатных плат - плата индикатора + логика и силовая часть.

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

Разработка печатной платы семисегментного индикатора для часов с большими цифрами

Печатная плата семисегментного индикатора для часов с большими цифрами в формате "lay" находится конце статьи, в присоединенных файлах. О технологии изготовления печатных плат методом ЛУТ можно почитать .

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

Готовая печатная плата семисегментного индикатора для часов с большими цифрами

Сборка семисегментного индикатора

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

Межслоевые переходы на плате индикатора

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

Подготовка к сборке индикатора

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

Расположение анодов на печатной плате индикатора

В итоге, после 2 часов кропотливой работы должно получиться вот что:

Семисегментный индикатор

Цифровая часть часов

Цифровую часть часов с большими цифрами будем собирать по схеме:

Схема часов с большими цифрами

Схема часов довольно прозрачна, поэтому объяснять как она работает не вижу смысла. Печатную плату в формате *.lay можно скачать в конце статьи. Замечу, что печатная плата в основном разработана под детали для поверхностного монтажа.

Итак, элементная база, которую использовал я:

1. Диодный мост DFA028 (подойдет любой компактный для поверхностного монтажа);
2. Регуляторы напряжения LM2576ADJ в корпусе D2PAK, 78M05 в корпусе HSOP3-P-2.30A;
3. Транзисторные ключи BCP53 (корпус SOT223) и BC847 (корпус SOT23);
4. Микроконтроллер Atmega8 (TQFP);
5. Часы реального времени DS1307 (SO8);
6. Блок питания 14В 1,2А от какого-то старого устройства;
7. Остальные детали - любого типа, подходящие по размерам для установки на печатную плату.

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

Обратите внимание на номиналы сопротивлений R3 и R4 - они должны быть именно такими, какие указаны на схеме - не больше не меньше. Это сделано для того, что бы обеспечить на выходе регулятора напряжения LM2576ADJ ровно 12В. Если все таки не удастся найти такие номиналы резисторов, то значение сопротивления R4 может быть рассчитано по формуле:

R4=R3(12/1.23-1) или R4=8.76R3

Сборка цифровой части. Версия 1, без DS1307

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

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

Если все сделано правильно - блок питания должен заработать сразу. Проверяем сборку блока питания - замеряем напряжение в контрольных точках.

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

Контрольные точки и значения напряжений для блока питания часов

После того, как проверка блока питания выполнена приступаем к сборке цифровой части часов - устанавливаем все остальные элементы на печатную плату. Проверяем на КЗ, особенно в ногах микроконтроллера Atmega и драйвера UL2003.

Монтаж цифровой части часов

Обратите внимание на то, что сборку часов мы выполняем БЕЗ установки часов реального времени DS1307, однако вся обвязка этой микросхемы должна быть выполнена. В будущем, если возникнет необходимость, это сэкономит нам время на доработку часов под вторую версию, там где все таки будут использоваться отдельные, независимые часы реального времени на DS1307.

Предварительная проверка микроконтроллера ATMEGA8

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

1. Программатор, например .
2. для внутрисхемного программирования микроконтроллера.
3. Программа AVRDUDESHELL.

Подключаем плату часов к дата-кабелю. Дата-кабель подключаем к программатору. Программатор к компьютеру, на котором установлена программа AVRDUDESHELL. Подключать плату часов к питающей сети 220В не следует.

Удачное чтение данных с микроконтроллера программой AVRDUDESHELL

Если при чтении фьюзов возникла проблемы - проверяйте монтаж - возможно где то есть короткое замыкание или "непропай". Еще один совет - возможно микроконтроллер находится в режиме низкоскоростного программирования, тогда достаточно переключить программатор в этот режим (

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

Еще в юности мне хотелось собрать электронные часы. Мне казалось, что собрать часы, это было вершиной мастерства. В итоге я собрал часы с календарем и будильником на серии К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 ).

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

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++, так что вариантов «размять мозги» вполне достаточно.

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

В этой пошаговой инструкции расскажу как сделать настенные часы своими руками.

Особенности часов:

  • Большие цифры (каждая цифра примерно равна размеру листа формата А4).
  • Тонкие стенки (можно вставить в рамку для картины).
  • Автоматическая регулировка в зависимости от яркости освещения в комнате.
  • Выделенная кнопка переключения летнего времени.

Шаг 1: Необходимые материалы


Что я использовал для настенных электронных часов с большими цифрами.

Электроника:

  • Arduino nano V3.0 (к сожалению, поскольку я не могу позволить себе оригинальный ардуино, я использовал китайский клон) - 150 рублей.
  • Цифровой модуль измерения интенсивности света Фоторезистор для Arduino - 60 рублей.
  • DS3231 AT24C32 IIC-модуль памяти для точного времени для Arduino — 60 рублей.
  • DC-DC преобразователь LM2596, Выходная мощность 1.23В-30В - 50 рублей.
  • 4 метра WS2811 светодиодной ленты 30 диодов / м - 700 рублей. (один WS2811 контролирует 3 светодиодных чипа)

Общая стоимость электроники: 900 рублей.

Другие материалы:

  • Термоусадочная трубка - 400 рублей (33м в ассортименте)
  • 20 шт. 5 x 7 см печатная плата - 200 рублей.
  • 3 шт. Микропереключатель - 60 рублей.
  • Припой - 50 рублей
  • Флюс - 50 рублей.
  • Кабель UTP (неэкранированная витая пара)
  • ЖК-шрифт (http://www.dafont.com/lcd-lcd-mono.font) - бесплатно.
  • Картон - бесплатно в супермаркете.
  • Полистирольная панель - 100 рублей.

А также различные инструменты.

Шаг 2: Подготовка - шаблоны цифр


  1. Скачайте и установите шрифт для часов
  2. Откройте Word или другую программу, и создайте шаблон, как на первом фото.
  • Размер шрифта ~ 800,
  • Шрифт белого цвета с черным контуром,
  • Серые полосы там, где будут светодиодные ленты

Напечатайте шаблон и вырежьте полосы канцелярским ножом (как на втором фото)

Шаг 3: Подготовка - режем картон и светодиодную ленту

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

Если ваши светодиодные полосы поставляются с разъемами на каждом конце (как у меня), отсоедините разъем и разрежьте их по 3 штуки.

Шаг 4: Крепим светодиодную ленту


Используя шаблон, наклейте светодиодную ленту на картон.

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

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

Шаг 5: Паяем светодиодную ленту


Теперь начинается долгий процесс пайки.

Спаяйте светодиодную ленту, чтобы сформировать непрерывную полосу. Обратите внимание на порядок припаивания полосок на фото. Для точек я использовал один кусок ленты, которой посередине заклеил скотчем.

Цвета, которые я выбрал:

  • Синий для земли
  • Зеленый для data
  • Красный для +12В

Шаг 6: Установка Ардуино на печатной плате


Я попытался сделать эскиз в Fritzing, но не смог найти все детали 🙁

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

Шаг 7: Проверка LED

Прежде чем загружать код (к которому я не имею никакого отношения), не забудьте установить библиотеку FastLED.

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

Файлы

Шаг 8: Запрограммируйте часы

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

Код хорошо прокомментирован, поэтому с ним не должно возникнуть никаких проблем.

Все сообщения отладки также прокомментированы.

Чтобы изменить используемый цвет, вы должны изменить переменную в строке 22 (int ledColor = 0x0000FF; // Используемый цвет (в шестнадцатеричном формате)). Вы можете найти список цветов в нижней части этой страницы