Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 0

Самодельные электронные часы, элементная база — часть 2

Привет, geektimes! В первой части статьи были рассмотрены принципы получения точного времени на самодельных часах. Пойдем дальше, и рассмотрим, как и на чем это время лучше выводить. Итак, у нас есть некая платформа (Arduino, Raspberry, PIC/AVR/STM-контроллер, etc), и стоит задача подключить к нему некую индикацию. Есть множество вариантов, которые мы и рассмотрим.

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

Тут все просто. Сегментный индикатор состоит из обычных светодиодов, которые банально подключаются к микроконтроллеру через гасящие резисторы. 73084ddb2b924dd69d3797a631f60072.png Осторожно, траффик! Плюсы: простота конструкции, хорошие углы обзора, невысокая цена. Минус: количество отображаемой информации ограничено. Конструкции индикаторов бывают двух видов, с общим катодом и общим анодом, внутри это выглядит примерно так (схема с сайта производителя).e5eb63e18d144b7fa13e114c14b96406.png Есть 1001 статья как подключить светодиод к микроконтроллеру, гугл в помощь. Сложности начинаются тогда, когда мы захотим сделать большие часы — ведь смотреть на мелкий индикатор не особо удобно. Тогда нам нужны такие индикаторы (фото с eBay):d20e4fe72f8548adab85a73844ef1536.png Они питаются от 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, давно сняты с производства, и купить их можно разве что на радиорынках или в немногих специализированных магазинах. С индикацией мы более-менее разобрались, осталось решить, какую аппаратную платформу лучше использовать. Тут есть несколько вариантов (самодельные я не рассматриваю, т.к. тем кто умеет развести плату и припаять процессор, эта статья не нужна).

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

Уже довольно давно возникла идея обзавестись часами, с большими светящимися циферками (чтобы отлично было видно ночью).

Но купить готовый вариант — слишком просто, поэтому решено было сделать часы самостоятельно.

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

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

К счастью, сделать семисегментный индикатор довольно просто.

Сначала была напечатана основа на 3D-принтере:

По задумке, в качестве рассеивателя, было решено использовать термоклей, а светодиоды взять обычные 5 мм. Но с ними вышла проблема: при размещении такого светодиода прямо — светилась только точка, а не весь сегмент; при установке светодиода боком — только половина сегмента.

Было решено использовать обычную светодиодную ленту:

Она была успешно разрезана на куски (по 1 светодиоду), а к ним — припаяны провода (много паял, так что не особо следил за аккуратностью):

Дальше залил сегменты термоклеем и поставил на место светодиоды:

Ну и еще немного поработал над внешним видом с помощью наждачки (мне так больше нравится):

Поскольку каждый сегмент имеет 8 контактов (а сегментов у нас 4) + сепаратор — 33 контакта, выходов на Arduino Uno (которая должна стать мозгами проекта) маловато. Да и управлять таким количеством контактов не очень удобно.

Было решено использовать 8-битный регистр смещения 74HC595, который позволит сократить количество нужных выходов к 3 (не считая землю и питание) + один выход на сепаратор.

Была сделана распайка для каждого сегмента (с общим катодом):

Потом все сегменты были склеены дихлорэтаном и сделана общая спайка:

Общая схема подключения выглядит следующим образом:

После подключения протестировал работу индикаторов:

Осталось только подключить модуль часов реального времени (у меня DS1302) и пару кнопок для настройки.

Был напечатан корпус на 3D-принтере, но поскольку часы вышли немаленькие, печатал кусками и склеивал (поэтому корпус смоделировал двухцветный). На заднюю крышку (тоже склеена из двух частей) разместил платы Arduino и часов, сделал вход на питание (гнездо 5,5 х 2,1 мм):

Ну и конечный результат:

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

141ILYAЭлектроника / Kit-наборыПривет всем любителям самоделок. В данной статье я расскажу, как сделать цифровые часы со светодиодной матрицей при помощи кит-набора, заказать который можно по ссылке в конце статьи. Такие самодельные часы будут отличным индикатором времени в вашем доме, а также будут показывать температуру в помещении, что отличает их от обычных часов. Перед тем, как прочитать статью, предлагаю посмотреть видео, где показан процесс сборки данного кит-набора с разбором всех мелочей, и само собой проверкой готовой самоделки.Для того, чтобы сделать цифровые светодиодные часы своими руками, понадобится:* Кит-набор* Паяльник, припой, флюс* Бокорезы * Крестовая отвертка* Приспособление для пайки «третья рука»* Блок питания 5В с выходом USB Шаг первый.Комплект кит-набора достаточно большой. В нем есть инструкция на английском языке, которая поможет собрать схему, настроить ее и посмотреть номиналы радиодеталей, так как на самой плате не все указано. Также в комплекте есть кабель USB, на конце которого находится штекер под разъем питания на часах, от которого они и будут питаться. Сама плата выполнена достаточно качественно. Тут же есть и панельки из оргстекла, которые в следующем будут собраны в корпус и пакетик с радиодеталями и крепежом.Первым делом закрепим плату в приспособлении для пайки» третья рука» и начнем расставлять резисторы. Их в схеме всего три, номиналы у них одинаковые и даже подписаны на бумажке, на которой они были закреплены в комплекте. Удобно то, что определять сопротивление резисторов здесь не нужно, поэтому просто устанавливаем на места с надписью на плате R1, R2 и R3 данные резисторы. Для того, чтобы при пайке радиодетали не выпали, подгинаем им выводы. Шаг второй.Далее ставим на плате керамические неполярные конденсаторы, их номиналы в данном случае разные и подписаны на корпусе. В схеме у нас их три, два из них емкостью 22пФ с цифрой 22 на корпусе и один конденсатор на 0,1 пФ с цифрой 104 на корпусе. В каком порядке их поставить смотрим по инструкции. Шаг третий.Теперь вставляем фото и терморезистор, первый можно установить вплотную к плате, а вот терморезистор нужно вывести немного за пределы корпуса, чтобы измерение температуры было как можно точнее, для этого припаиваем его, оставив длинные ножки. Далее припаиваем остальные компоненты на плате, для лучшего спаивания наносим флюс. После пайки удаляем лишние части выводов при помощи бокорезов. Данный способ достаточно хорош, но будьте при этом аккуратны, так как можно удалить и саму дорожку, которую восстановить будет сложно.Шаг четвертый.После этого переходим к микросхемам, их в данном случае две, одна имеет восемь выводов, другая 28. Спутать одну с другой тут не получиться, а для их правильной установки нужно совместить ключ на микросхеме, который выполнен в виде полукруга или точки с ключом на плате, также на плате первый контакт выполнен в виде квадрата. Аналогично делаем со второй микросхемой. В комплекте было два гнезда под установку микросхем, но ставить их или нет зависит только от вас, так как их можно припаять и без этого. При пайке без гнезд не перегревайте микросхемы, так как они могут выйти из строя, плюс гнезд в том, что микросхемы от самого паяльника греться не будут, потому что устанавливаются после пайки.Шаг пятый.Ставим кнопки на плату, которые в дальнейшем позволят настроить часы. Затем устанавливаем гнездо для подключения питания и пищалку, на ее корпусе указан плюс, со стороны которого находится плюсовой вывод, также полярность можно узнать по длине ножек, длиная- плюс, короткая-минус,а на самой плате отмечен плюс в кружочке. Припаиваем разъем для батарейки, которая будет продолжать ход времени при отключении от питания, после подключения питания время не собьется.Шаг шестой.Теперь хорошенько припаиваем все выводы радиодеталей, предварительно нанеся флюс на контакты.Из электронной части почти все, осталось припаять светодиодную матрицу. Устанавливаем ее на свое законное место и припаиваем. На этом паяльник можно выключать. Шаг седьмой.Пришло время поместить всю начинку в корпус. Перед установкой в корпус проверяем часы на работоспособность, чтобы не разбирать его при какой-либо ошибке или неисправности. После того, как убедились в исправной работе часов, начинаем снимать с оргстеклянных пластинок защитные пленки. Между собой они скрепляются при помощи специальных пазов и винтиков с гайками, которые проходят корпус насквозь.Вот и все, цифровые светодиодные часы полностью готовы, подключаем их к блоку питания с USB выходом и настраиваем время. Данные часы выглядят вполне оригинально, их прозрачный корпус смотрится необычно, а выведенный за пределы корпуса терморезистор позволяет определить температуру в помещении, что лишним точно не будет. Также в них есть удобная функция, которая реализована при помощи фоторезистора, когда наступает ночь, то светодиодная матрица часов понижает яркость и тем самым не слепит глаза.На этом у меня все, спасибо за внимание и творческих успехов. form-image.pngДоставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь. Используемые источники:

  • https://habr.com/post/383629/
  • https://pikabu.ru/story/chasyi_na_samodelnyikh_svetodiodnyikh_indikatorakh_6619596
  • https://usamodelkina.ru/11167-cifrovye-svetodiodnye-chasy-svoimi-rukami.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации