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

Содержание

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

Привет, geektimes! В первой части статьи были рассмотрены принципы получения точного времени на самодельных часах. Пойдем дальше, и рассмотрим, как и на чем это время лучше выводить.

Итак, у нас есть некая платформа (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, давно сняты с производства, и купить их можно разве что на радиорынках или в немногих специализированных магазинах.

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

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

ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК САМОДЕЛЬНЫЕ

Предлагаю для повторения схему простых электронных часов с будильником, выполненные на микроконтроллере типа PIC16F628A. Большим плюсом данных часов является светодиодный индикатор типа АЛС, для отображения времени. Лично мне порядком надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость. Часы испытаны на протяжении месяца, что показало их надежность и работоспособность. Думаю из всех схем в интернете, эта наиболее простая в сборке и запуске.

   Принципиальная схема электронных часов с будильником на микроконтроллере:

   Как видно из схемы часов, микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. В случае использования пьезоизлучателя, конденсатор С1 – 100 мкФ можно не ставить. 

   Можно применить любые индикаторы с общим анодом, лишь бы каждая цифра имела собственный анод. Чтоб электронные часы были хорошо видны в темноте и с большой дистанции – старайтесь выбрать АЛС-ки чем покрупнее. 

   Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628A. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным. 

   Для настройки минут, часов и будильника – используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя – каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. 

   Питаются часы от стабилизированного источника напряжением 5В. Можно и от батареек. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками “+” и “-“. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки – одна секунда.

   Кнопкой “Коррекция” часы – будильник переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками “+” и “-“. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения – включении питания.

   Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку “Вкл/Выкл” включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Думал куда бы пристроить часы на кухне, и решил вмонтировать их прямо в газовую плиту:) Материал прислал in_sane.

   Форум по электронным часам

5 лучших проектов умных часов, сделанных своими руками

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

Одним из основных необходимых компонентов является изготовленная на заказ печатная плата (PCB), которая не является стандартной готовой деталью. Но с создателями умных часов DIY, которые делают свои проекты бесплатными, заказ печатной платы на заказ не может быть проще или дешевле, если на то пошло, часто всего за 10 долларов.

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

1. Смарт-часы Slimline ESP32

Сборка собственных смарт-часов может быть сложной задачей, когда дело доходит до размещения всех необходимых компонентов в таком маленьком формате. Если вам нужна мотивация для решения этой проблемы, то не ищите ничего, кроме производителя DIY Стивена Хоуза, чей заразительный энтузиазм по поводу создания умных часов невозможно игнорировать.

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

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

2. Умные часы ESP8266 с домашней автоматизацией

Пользовательские печатные платы

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

Все, что вам нужно, от схем печатных плат и файлов Gerber, доступно на GitHub вместе с простым в использовании учебным пособием на YouTube и Instructables. Необходимые компоненты включают в себя аккумулятор, три тактильные кнопки и OLED-дисплей, а некоторые другие компоненты включают транзисторы и порты micro USB, которые можно извлечь из старых электронных устройств — отличный способ сократить количество электронных отходов.

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

3. Смарт-часы ESP32 с лазером и фонариком

Прелесть создания собственных умных часов заключается в том, чтобы добавить именно те функции, которые вам нужны. В этом случае Габриэль Макфарлейн увидел необходимость собрать свои часы с лазером и фонариком — и он это сделал.

Этот проект отличается от других платой для разработки ESP32 TTGO, доступной от LILYGO. Он имеет встроенную систему управления батареями, а также встроенный дисплей, что означает меньшее количество компонентов, которые нужно беспокоиться о пайке. Здесь не требуются специальные печатные платы.

Ссылка по теме: Лучшие носимые проекты ESP32

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

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

4. Умные часы Arduino

Иногда вы просто хотите, чтобы ваши умные часы хорошо справлялись с несколькими ключевыми задачами, и для этого этот проект идеально подходит. К концу обучения у вас будут умные часы, которые будут сообщать вам время, дату и температуру, а также получать уведомления на телефоне. Этот простой дизайн напоминает ретро-цифровые часы Seiko, но с добавленной функцией Bluetooth, зуммером и светодиодом они намного ближе к умным часам, которые мы видим сегодня.

Ссылка по теме: Лучшие проекты Arduino Wearables

И снова дизайн основан на пользовательской печатной плате, которую вы можете найти на веб-сайте проекта. Здесь используется встроенный микроконтроллер Arduino ATmega32 с уже скомпилированной прошивкой, обеспечивающей функционирование умных часов. Одной приятной особенностью является использование приложения Notiduino, которое позволяет вам выбирать со своего телефона уведомления, которые вы хотите отправить на Arduino. К ним относятся Twitter, WhatsApp, Instagram, YouTube и электронная почта, и это лишь некоторые из них.

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

Умные часы

«сделай сам» не обязательно должны быть важнее формы. Будучи одновременно инженером-электриком и дизайнером продуктов, Самсон Марч создал умные часы, которые столь же эстетичны.

Корпус часов изготовлен из древесного наполнителя PLA и имеет круглый дисплей, что придает ему уникальный вид по сравнению с большинством других моделей умных часов, сделанных своими руками. Если вы еще не пробовали филамент PLA с древесным наполнителем в 3D-печати, вы можете быть удивлены, узнав, что он ведет себя так же, как настоящая древесина. Хотя может потребоваться некоторая уборка сразу после печати, вы можете напилить, отшлифовать и даже окрасить конечный продукт.

Вы будете еще более взволнованы, узнав, что внешний вид — это еще не все. Эти умные часы включатся, когда вы повернете их к себе, и в них встроены уведомления Apple. Это связано с использованием чипа Dialog Semiconductor DA14683 и специально изготовленной печатной платы, а также большого количества внутреннего кодирования.

Хотя создать и запрограммировать эти прекрасные часы непросто, результат определенно того стоит. Зайдите на GitHub, чтобы найти все, что вам нужно, включая список компонентов, код, файлы STL и схемы.

Сборка умных часов своими руками

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

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

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

Телепередача PCBWay 06 Креативные электронные часы своими руками — Новости

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

Давайте проверим их вместе с Лесли и Луизой.

1. Светодиодные матричные часы

Олег сделал светодиодные матричные часы на базе 51 однокристального микрокомпьютера. Для этого проекта индикатор выполнения внизу показывает количество секунд. Кроме того, чувство гравитации будет определять направление отображения.

https://www.pcbway.com/project/shareproject/LED_dot_matrix_clock.html

2.Сделать светодиодные цифровые часы без микроконтроллера

Муса сделал светодиодные цифровые часы без микроконтроллера.

3.

Создание семисегментного светодиодного дисплея 

Компания StechiezDIY построила семисегментный светодиодный дисплей для отображения времени.

https://www.pcbway.com/project/shareproject/Custom_Designed_Seven_Segment_Display.html

4.Сделай сам Arduino Clock ESP32 и RGB Matrix

Аарон Кристофель сделал самодельные часы Arduino ESP32 и RGB-матрицу, которые могут показывать время и дату. Все они основаны на различных видах светодиодов.

5. Часы и термометр Интегрированный гаджет

Самодельные светодиодные часы Electronic Stuff сочетают в себе функцию термометра, который выглядит как многофункциональные часы на рынке.

6. Часы с GPS

Упомянутые о многофункциональности, часы Юрия Воробца с GPS могут быть блестящей работой. Эти часы могут отображать не только время, но и температуру воздуха и атмосферное давление. Время синхронизируется через GPS-приемник, поэтому в часах нет пункта меню для установки времени. Есть еще одна функция—- секундомер, который может до 99 часов 59 минут.

https://www.pcbway.com/project/shareproject/Watch_with_gps.html


7. ArduBand


8.Wearable Vibrating Activity Tracking Watch


9. Изготовление циферблата для механических часов

10. Деревянные умные часы

Самсон Марч сделал умные часы с нуля. Самсон спроектировал и построил каждый аспект часов, от создания корпуса до его 3D-печати и написания для него каждой строки кода. Он также сделал проект открытым исходным кодом, так что любой другой может получить доступ к файлам и сделать свои собственные часы. Благодаря этому проекту Сэм получил много отличных предложений работы от Google, Oculus, Uber и SpaceX. Он даже дал интервью телеканалу. Сэм однажды сказал, что смысл платформ с открытым исходным кодом заключается в том, чтобы уменьшить сложность, позволяющую как можно большему количеству людей реализовывать проекты своей мечты.

https://www.pcbway.com/project/shareproject/smarchWatch.html

11. Смарт-часы, изготовленные менее чем за 20 долларов США

Дебаши хорошо умеет создавать самодельные товары по низким ценам. Он загрузил это видео под названием «Как я сделал свои собственные умные часы менее чем за 20 долларов» в 2018 году и получил множество положительных отзывов. Это смарт-часы на базе Arduino и bluetooth-модуля, которые можно подключить к телефону и отображать телефонные звонки, сообщения и уведомления.