Собираем «дизайнерские» LED-часы из подручных средств

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

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


Часы у меня в спальне были самые обычные, электронные, фирмы Ajanta (индия), но со временем они стали отставать, замена батареек, кварцевого резонатора, ничего не давала – часы стали отставать до 10 минут за месяц (причём без всякой системы, иногда на минуту, иногда – на 12), потерпел я год, другой, и пришёл к выводу, что часы надо менять.

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

Начал рассматривать различные варианты изготовления, которые можно разделить на 3 варианта:

  1. Часы с матричными светодиодными индикаторами, с разрешением в 32х8 пикселей и выше, с управлением на основе дискретных микросхем типа MAX7219, HT16K33, TM1637 и многих других.
  2. Часы на основе 7 сегментных светодиодных индикаторов, либо на тех же микросхемах, что и выше, либо, в случае более крупных индикаторах, на дискретной логике, типа специализированных драйверов и транзисторных сборок типа ULN
  3. Всякая экзотика на основе газоразрядных, люминесцентных и даже на оптомеханических индикаторах.

 

Вариант №3 практически сразу же отмёл – подходящие по размеру газоразрядные индикаторы (ИН-18, Z568M) стоят от 100-300 у.е. за штуку, крупные люминесцентные ещё дороже, а делать брутальный колхоз типа «Электроника-7» и прочих аналогов на неонках – не хотелось по эстетическим причинам.


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

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

Реанимация проекта случилась почти что случайно – знакомая школа заказала ремонт табло для их физкультурного зала – рабочие при ремонте умудрились в дребезги разбить пульт, и табло перестало работать. Фирма-изготовитель такие табло больше не выпускает, пультов в наличии нет, так что пришлось восстанавливать то что было, благо, МК в пульте выжил, и испортились только индикаторные модули, схему которых я быстренько срисовал, заказал в Китае, собрал, поставил, и отдал клиенту. Но так как детали я заказывал с некоторым запасом, то основных компонентов как раз хватило на один «лишний» комплект часов.

Итак, с чего же состоят мои часы?

В первую очередь, это 4 светодиодных 7 сегментных индикатора с типоразмером в 2.3 дюима:

В вторую очередь, это печатные платы, на которых размещены эти самые индикаторы и логика, ими управляющая – Микросхемы типа CD4511 (декодер 7 сегментов с защёлкой) +транзисторная матрица ULN2003 и несколько резисторов. В наш век всяких ардуин и прочих малинок, такой антиквариат, конечно же, может показаться довольно странным, но разрешите мне напомнить – эти модули я делал как замену поломанным в пульт от табло, так что и схемотехника взята оттуда.


Далее идёт «основная» плата, которая тоже была сделана по образу такой же у табло, но куда я добавил несколько «гребенок» контактов, как в воду глядел, видимо чувствовал, что пригодятся. На этой плате размещён модуль RTC, на микросхеме DS3231, и микроконтроллер PIC16F886. Там же присутствует стабилизатор напряжения 78L05 и другая мелкая обвязка.

В корпусе часов также размещен блок питания на 12 вольт, 1 ампер (взят с большим запасом, всего часы потребляют от 12 вольт около 68мА) и понижающий преобразователь на LM2596. (Который изначально не планировался и с которым связана интересная история, но об этом – чуть пониже)

Корпус часов выполнен из фанеры (передняя + задняя панели) и из дерева Бальсы (боковины). Обтянут он самоклеящееся тканью под «мешковину», и прикрыт спереди и сзади панелями из оргстекла – дымчатое полупрозрачное – спереди, непрозрачное белое – сзади (причина применения белого в том, что больше дымчатого не было, так что сделал из того, что было под рукой)

Процесс сборки начал с изготовления передней панели. В качестве материала выступила 10мм фанера, с помощью станка с ЧПУ в ней были сделаны вырезы под индикаторы, под 5мм светодиоды (выступают в качестве разделительного двоеточия) и отверстия для крепления плат с индикаторами.  В отверстия были вклеены латунные проставки длиной 4мм, с использованием эпоксидного клея.

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

Части корпуса между собой склеил обычным клеем ПВА (Совет, убирайте излишки этого клея пока он не высох, так как засохший убрать очень сложно, даже наждачной бумагой и ножом) и на момент склейки скручены шпильками с резьбой М3.

«Материнская плата» через 10мм латунные проставки установлена над индикаторами с правой стороны, и соединения сделаны обычными плоскими шлейфами типа PH. И тут меня ждал облом – изначально в табло стояли разъёмы типа XH, с механической защёлкой, и проблем не возникало, а тут, так как фиксатора нет, в процессе сборки выскакивал то один шлейф, то другой. Пришлось импровизировать на месте и применить специальный, «авиамодельный» скотч для надежного крепления проводов в разъёмах.

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

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

После того, как прошивка часов была написана и отлажена, решил отнести их домой и проверить в реальных условиях. Тут и выяснилось, что при напряжении питания в 12 вольт, и при резисторах в 470 Ом последовательно с каждым сегментом, яркость часов получилась просто гигантской, вполне можно проявлять ЧБ фотоплёнку и даже представить себе, что находишься в Амстердаме, в доковидные времена :) А вот при 5 вольтах, яркость явно недостаточна. Можно было часы разобрать, снять модули, разобрать их, поменять резисторы на другие, но это было весьма непрактично, поэтому, я пошёл альтернативным путём – подключил лабораторный БП, и подобрал такое напряжение, при котором яркость свечения была приемлемой как днём, так и ночью. Это напряжение составило около 6.5 вольт. Такого готового БП у меня не было, да и крепёж и место в корпусе уже подобраны для выбранного БП. Пришлось призвать на помощь понижающий модуль на LM2596. Заменил комплектный подстроечник на такой же номинал, но с длинной ручкой, и вывел его наружу с задней стороны, чтоб иметь возможность регулировки в случае необходимости.

Блок питания и понижающий преобразователь закрепил на задней панели, используя нейлоновые проставки и винты – в целях электробезопасности. Сама панель сделана из 3мм белого оркстекла, и по всей своей площади имеет вентиляционные вырезы.

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

Немножко пришлось помучатся с шарниром – будучи вкручен на вклеенную в ДСП трубку с резьбой М10, он немножко проворачивался вокруг своей оси. Пришлось сверлить боковину, нарезать резьбу и вкручивать стопорные винты.

Напоследок, немножко решил поиграться с прошивкой. Так как свободных выводов МК у меня много, светодиоды разделительного двоеточия подключил к индивидуальным выводам, и сделал так, чтоб сначала зажигается нижний, потом верхний (горят оба), потом гаснет нижний, и в след за ним – гаснет верхний, и так по кругу.

У часов нет ни будильника, ни показа температуры и вообще ничего лишнего – вся настройка делается одной кнопкой, и делается всё очень просто.  

Нажимаем кнопку и держим её одну секунду – на часах пишется 00. Отпускаем кнопку, и короткими нажатиями выбираем пункт в меню, вход в который – по повторному длинному нажатию.

00 – выход в обычный режим

01 – установка часов

02 – установка минут.

В пунктах меню 01 и 02, короткое нажатие кнопки изменяет (увеличивает) текущий показатель, а длинное – возвращает в основное меню – всё очень просто, понятно и лаконично. Зачем вся эта мутотень с вайфаем, сложными меню и другими настройками – мне непонятно.

Вроде бы всё – часы собраны, установлены, и несмотря на копеечный модуль на явно неоригинальном DS3231, идут вполне точно – уже прошло два месяца с момента их установки, а они не ушли даже на секунду.

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