Ещё одни часы с WiFi. Clock380 +38




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

1) GPS
2) DCF77
3) Ethernet или WiFi
4) GSM
5) Своя система

Плюсы и минуты каждой системы уже описывались здесь

Сначала я хотел сделать свою систему. Но потом я остановился на WiFi. Казалось бы, на рынке должно быть полно настольных/настенных часов с синхронизацией по WiFi. Однако того что хочу я не нашёл. Может плохо искал конечно. Поэтому решил собрать сам. Сначала я попробовал собрать часы на WS2812B, но мне они не понравились. Слишком большие они. В итоге я остановился на обычных светодиодах. Ну и в качестве WiFi конечно я решил использовать ESP8266.

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

Кроме необходимых для часов элементов, я добавил посадочные места для:

1) STM8S003F3U6 (Вдруг что то не получится с ESP8266)
2) DS18B20U
3) BMP280 или BME280

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

После месяца размышлений, рисований схемы и трассировки, получилось вот такая двухсторонняя плата, размером 140x56 мм. И толщиной, вместе с элементами, меньше 2 мм. Размер одной цифры ~ 25x48 мм.





Печатные платы и комплектацию я заказал конечно в Китае. Кое-что из комплектации пришлось брать модулями, так как выходило дешевле. Вот эти модули доноры — ESP-09 и GY-302:



Управление светодиодами осуществляется 16-ти канальным ШИМ контролером PCA9685BS с интерфейсом I2C и полевыми транзисторами BSS138. Вообще микросхемы в часах специально выбраны с I2C, для упрощения трассировки и управления.

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



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



А вот на то, чтобы расставить элементы, а только светодиодов размером 0603 на плате 380 штук, у меня ушло около 5 часов.



После расстановки почти всех элементов, отправляем плату в инфракрасную печку. У меня вот такая:



После оплавления в печке, необходимо исправить недостатки и вручную допаять ионистор. И вот наконец плата после монтажа.



Для программирования ESP8266 я решил использовать среду Arduino. Потому что это самый простой и быстрый старт для ESP8266, да и это всего на всего часы, а не управление защитой на атомной электростанции.

Спустя несколько дней написания кода и исправления ошибок монтажа я смог её заставить отображать время и синхронизироваться с сервером NTP по WiFi. Синхронизация с NTP происходит раз в 5 часов. В остальное время WiFi отключается для понижения потребления.



На обратной стороне платы имеются 4 сенсорных кнопки, а на самой плате контроллер MPR121. Однако библиотека github.com/adafruit/Adafruit_MPR121 для Arduino не работает на ESP8266. Вероятно причина её неработоспособности очень простая, но честно скажу мне пока некогда изучать этот вопрос.

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

Фотографии




















Планы на будущее, если оно будет:

1) Усовершенствовать прошивку;
а. сделать настройки через web интерфейс;
б. сделать обновление прошивки через web интерфейс;
2) Разобраться с сенсорными кнопками.

Исходные файлы находятся здесь:

> github.com/denruss/clock380
> github.com/denruss/clock380_sketch


Комментарии (59):

  1. roma_turkin
    /#10081583 / -1

    Надо такие же, только поменьше, в микроволновку сделать! И с зарядочкой от микроволнового излучения!

  2. k-d-r
    /#10081595

    Вспомнились советские часы, которые умели вносить поправки по «сигналам точного времени», передаваемым по радио. Замечательно работало!

    • Mikeware
      /#10081619

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

  3. Jmann
    /#10081621

    Хорошая задумка. Молодец!

  4. mwambanatanga
    /#10081653 / +1

    Чтобы часы подстраивались сами, их необходимо оснастить как минимум одной из систем, через которую можно получать время:
    1) GPS
    2) DCF77
    3) Ethernet или WiFi
    4) GSM
    5) Своя система

    Почему только эти? Например, существует довольно много систем радиосигналов точного времени.

    • dernuss
      /#10081669 / +1

      Ну это просто наиболее популярные варианты.

    • nafikovr
      /#10081729

      DCF77 частный случай этих самых радиосигналов

  5. melchermax
    /#10081673

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

    • dernuss
      /#10081679 / +3

      Да умеют, встроен датчик освещения BH1750

  6. gxcreator
    /#10081695

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

  7. LazyCrazy
    /#10081701

    Казалось бы, на рынке должно быть полно настольных/настенных часов с синхронизацией по WiFi. Однако того что хочу я не нашёл.

    Тоже так думал и тоже не нашёл.
    И как быть таким рукож неумелым, как я? Чтобы всё-таки готовый продукт найти, а не пытаться что-то собрать?
    А если бы этот «продукт» ещё и с гугл-календарём синхронизировался…

    • danyaShep
      /#10081969

      планшет на андроиде. За матовым черным стеклом, чтоб красивше.

      • LazyCrazy
        /#10082295 / +1

        Слева от монитора у меня сейчас стоит поставка для планшета. Совсем недавно там стоял не новый, но вполне рабочий android-планшет, а на его экране был выведен календарь. Больше он ничего не делал, только 24/7/365 был включен и отображал расписание. Собственно, «365» не вышло — экран стал выгорать гораздо раньше, а потом и батарея приказала долго жить. Гасить экран — теряется сам смысл такого использования.
        Всё-таки нужно что-то специализированное. Встречалось описание настенных часов с синхронизацией с календарём — по почему-то не по Wi-Fi, а по bluetooth, что не совсем логично.

        • rustavelli
          /#10082427

          У меня на стене висит старый китайский планшет на андроиде 2.1, но с IPS-экраном 9.7". Включен круглосуточно, ничего не выгорело. Аккумулятор менял, да, ничего сложного. В режиме работы от розетки, туда можно любой вставить, хоть от телефона.
          Планшеты сейчас настолько дешевые, что не вижу проблем менять их раз в несколько лет. Тот же amazon fire по $40 продавали.

          • dernuss
            /#10082443

            У планшетов лампа подсветки за матрицей светится вся, из за этого экран серый весь в темноте.
            ИМХО, светодиодные часы смотрятся лучше в темноте.

            • rustavelli
              /#10082481

              поэтому надо его затонировать. Яркости все равно с запасом. Или за зеркало поставить.
              Не понятно, как на светодиодных часах выводить события гугл-календаря.

              • dernuss
                /#10082493 / +1

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

    • KMVp
      /#10082431 / +2

      Аналогично, искал с wifi и не нашел. Спаял сам. Так как изготавливать платы и паять smd не умею, то я пошел более простым на мой взгляд путем — купил RGB матрицу 32x8 и NodeMCU (та же esp, но с большей «обвязкой»). Блок питания и… все! Работает как «бегущая строка». Текст времени передаётся с домашнего «сервера» раз в минуту. Сброс питания для часов ничего не значит — время приедет с сервера. Бонусом разные цвета, информационные сообщения и даже «картинки». Датчик освещенности впаян в мою версию NodeMCU еще китайцами, яркость меняется автоматом.

      • Dioxin
        /#10084067 / +1

        Давайте фотку что ли

  8. sim2q
    /#10081745

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

    • dernuss
      /#10081765 / +3

      Пробовал гасить его, не понравилось. Не симметрично становится.
      Если будет web интерфейс, сделаю настройку.

  9. stDistarik
    /#10081877 / +1

    Вот здесь про часы-будильник с синхронизацией от компа (или роутера) и управлением от любого ИК-пульта. Чтоб настроить будильник или продлить время на любое количество минут не нужно вставать с дивана. )

  10. dernuss
    /#10081981

    Кто то написал коммент про GPS, но я случайно его отклонил. У GPS есть недостаток, работает только у окна.

    • PKav
      /#10082263 / +1

      Это фиксация позиции только у окна, а вот время может поймать даже находясь на противоположной от окна стороне. Главное — грамотно спроектированная антенна с высоким коэффициентом усиления.

      • dernuss
        /#10082379

        Возможно вы правы.
        Попробую на досуге.

    • Iv38
      /#10082345 / +1

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

  11. Dmitry_4
    /#10082099 / -1

    Можно взять nexus one и поставить его в родной крэдл на вечную стоянку.

  12. valeravv
    /#10082111 / +1

    И за самоделкой стоит метеостанция Oregon, которая синхронизирует часы по DCF77 )

    • dernuss
      /#10082117

      Верно, Oregon. Только она не ловит сигнал DCF77.
      К тому же не светится в темноте. Точнее подсветка есть, но только по кнопке.

  13. ELEKTRO_YAR
    /#10082245

    Пф, что сложного перепроверить библиотеку для MPR121, я ее вообще на си переписал для esp32

    • dernuss
      /#10082371

      Я понимаю, ни чего сложного.
      Просто с наскоку не получилось, а поскольку они сами настраиваются, кнопки не нужны сразу стали)

  14. grimich
    /#10082331

    Господи, наконец-то! Идеальные часы!
    Давно ищу

    Где кнопка «купить»? :)

    • dernuss
      /#10082391

      Кнопки купить нет( делал для себя.
      Если будет небольшой спрос, штук на 100.
      Можно заказать в Китае сборку.

      Для себя планирую ещё смонтировать штуки 2. По разным комнатам расставлю.
      Хотя паять вручную такую платку радости мало.

      • LexB
        /#10083045

        спрос, штук на 100.
        Можно заказать в Китае сборку.
        Китайцы сделают 500 и распродадут своими каналами.

    • Mikeware
      /#10082511

      услужливый гугель показывает рекламу: http://www.rusimpuls.ru/production/vtorichnye-chasy-ntp/

      • dernuss
        /#10082533

        Это большие, офисный вариант

  15. AndyKorg
    /#10082399

    Не такие тонкие, но со звуком и web-интерфейсом можно глянуть на ютубе.

    • dernuss
      /#10082413

      Веб интерфейс вообще зачётный.

  16. Alexeyslav
    /#10083007

    Обычно делают систему из первичных и вторичных часов, первичные получают время по GPS а вторичные запрашивают у них точное время по радио или проводу, применяя модули nRF24L01. В таком случае можно вовсе отказаться от кварцевой стабилизации в самих часах получая точное время каждую минуту, не насилуя NTP-сервер.

    • dernuss
      /#10083029

      Конечно можно и так (я даже сначала так и хотел), но надо делать первичные часы(устройство).
      В моём случае NTP сервер не насилуется, так как синхронизация раз в пять часов происходит. И вайфай тоже отключается. А кварцевая стабилизация стоит копейки. И даже в моём случая я думаю от неё можно отказаться. Да и время синхронизации увеличить.

  17. func_MYXOMOP
    /#10083473

    Где заказывали плату, чтобы бесплатно покрыли золотом?

    • dernuss
      /#10083483 / +1

      https://www.pcbway.com/
      Там не всегда покрывают, дело случая. Мне повезло)

  18. dernuss
    /#10083481

    .

  19. Bonio
    /#10083559

    Для чего в данной схеме ионистор? Я делал часы на PCF2129, это часовая микросхема со встроенным кварцевым генератором, вот там я применял ионистор для питания микросхемы на время отключения внешнего питания. Часы работают уже несколько лет подряд и за это время не подводились ни разу, кстати.
    А тут ионистор кажется лишним, раз при включении можно сразу время синхронизировать

    • dernuss
      /#10083573

      Вообщем для этого же. Представляете что отключили электричество и интернет. А потом электричество включили, а интернета ещё нет.

      • Dioxin
        /#10084071 / +1

        Как только свет пропадает инет по оптике гаснет автоматически.
        Так что ионистор не пропадет.

    • dernuss
      /#10083601 / -1

      часовая микросхема со встроенным кварцевым генератором

      Наверное DS3231 использовали. Точная микросхема. Но всё равно 2ppm, а это около минуты в год точность.

      • Bonio
        /#10083927 / +1

        Микросхема PCF2129, я же написал, почти то же самое, что DS3231. Очень точная, самые точные часы в доме теперь.

        • dernuss
          /#10084185

          Я что то PCF2129 с pic контроллером перепутал. Извиняюсь.

  20. 15432
    /#10083565

    Как устроен дозатор пасты? Я находил похожий на aliexpress, но ему требовался внешний источник чистого сжатого воздуха.

    • dernuss
      /#10083581 / +1

      Верно, нужен ещё и компрессор. Хотя есть дозаторы без компрессора, например https://mysku.ru/blog/ebay/38227.html

  21. leex
    /#10084187

    Спустя несколько дней написания кода и исправления ошибок монтажа
    Имеется ввиду ошибки монтажа или трассировки? Исправления в проект не вносили? Хочу повторить, но не хотелось бы заказывать плату с ошибками...

    • dernuss
      /#10084209 / +1

      Монтажа, были пару светодиодов перевернуты.
      В трассировке ошибок нет. Повторяйте, если хватит терпения сделать монтаж;)

  22. e_butcher
    /#10097731

    А на чем сенсорные кнопки сделаны и как?

  23. dernuss
    /#10097783 / +1

    С обратной стороны платы 4 полигона + микросхема MPR121.

    Скрытый текст