Моя версия идеальных часов. Скажу честно, мне надоело подстраивать часы. Чтобы часы подстраивались сами, их необходимо оснастить как минимум одной из систем, через которую можно получать время:
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)
k-d-r
23.05.2017 10:35Вспомнились советские часы, которые умели вносить поправки по «сигналам точного времени», передаваемым по радио. Замечательно работало!
tmnhy
23.05.2017 10:40-2передаваемым по радио
Это как, через радиоточку? Или всё-таки по радио каналу?k-d-r
24.05.2017 09:31+2Часы Электроника-7
, втыкались в радиотрансляционную сеть, корректировались по «началу шестого сигнала»
Mikeware
23.05.2017 10:42а можно подробнее?
встречал только электромеханические «вторичные часы», которые «на ноль» выставлялись «по проводу»…
mwambanatanga
23.05.2017 10:51+1Чтобы часы подстраивались сами, их необходимо оснастить как минимум одной из систем, через которую можно получать время:
1) GPS
2) DCF77
3) Ethernet или WiFi
4) GSM
5) Своя система
Почему только эти? Например, существует довольно много систем радиосигналов точного времени.
melchermax
23.05.2017 10:58Смотрится неплохо, а они умеют автоматически снижать яркость в темноте? На мой взгляд, это даже важнее автосинхронизации.
gxcreator
23.05.2017 11:03Еще неплохо было бы озаботиться защитой от пыли. За продолжительное время она осядет на внутреннюю сторону стекла.
LazyCrazy
23.05.2017 11:04Казалось бы, на рынке должно быть полно настольных/настенных часов с синхронизацией по WiFi. Однако того что хочу я не нашёл.
Тоже так думал и тоже не нашёл.
И как быть такимрукожнеумелым, как я? Чтобы всё-таки готовый продукт найти, а не пытаться что-то собрать?
А если бы этот «продукт» ещё и с гугл-календарём синхронизировался…danyaShep
23.05.2017 12:12планшет на андроиде. За матовым черным стеклом, чтоб красивше.
LazyCrazy
23.05.2017 13:32+1Слева от монитора у меня сейчас стоит поставка для планшета. Совсем недавно там стоял не новый, но вполне рабочий android-планшет, а на его экране был выведен календарь. Больше он ничего не делал, только 24/7/365 был включен и отображал расписание. Собственно, «365» не вышло — экран стал выгорать гораздо раньше, а потом и батарея приказала долго жить. Гасить экран — теряется сам смысл такого использования.
Всё-таки нужно что-то специализированное. Встречалось описание настенных часов с синхронизацией с календарём — по почему-то не по Wi-Fi, а по bluetooth, что не совсем логично.rustavelli
23.05.2017 14:03У меня на стене висит старый китайский планшет на андроиде 2.1, но с IPS-экраном 9.7". Включен круглосуточно, ничего не выгорело. Аккумулятор менял, да, ничего сложного. В режиме работы от розетки, туда можно любой вставить, хоть от телефона.
Планшеты сейчас настолько дешевые, что не вижу проблем менять их раз в несколько лет. Тот же amazon fire по $40 продавали.dernuss
23.05.2017 14:06У планшетов лампа подсветки за матрицей светится вся, из за этого экран серый весь в темноте.
ИМХО, светодиодные часы смотрятся лучше в темноте.rustavelli
23.05.2017 14:19поэтому надо его затонировать. Яркости все равно с запасом. Или за зеркало поставить.
Не понятно, как на светодиодных часах выводить события гугл-календаря.dernuss
23.05.2017 14:24+1Я пробовал тонировать, нужного эффекта не добился. Всё равно ночью серый фон.
У меня не было задачи выводить события гугл календаря.
KMVp
23.05.2017 14:03+2Аналогично, искал с wifi и не нашел. Спаял сам. Так как изготавливать платы и паять smd не умею, то я пошел более простым на мой взгляд путем — купил RGB матрицу 32x8 и NodeMCU (та же esp, но с большей «обвязкой»). Блок питания и… все! Работает как «бегущая строка». Текст времени передаётся с домашнего «сервера» раз в минуту. Сброс питания для часов ничего не значит — время приедет с сервера. Бонусом разные цвета, информационные сообщения и даже «картинки». Датчик освещенности впаян в мою версию NodeMCU еще китайцами, яркость меняется автоматом.
stDistarik
23.05.2017 11:45+1Вот здесь про часы-будильник с синхронизацией от компа (или роутера) и управлением от любого ИК-пульта. Чтоб настроить будильник или продлить время на любое количество минут не нужно вставать с дивана. )
dernuss
23.05.2017 12:15Кто то написал коммент про GPS, но я случайно его отклонил. У GPS есть недостаток, работает только у окна.
Iv38
23.05.2017 13:44+1Как-то читал обсуждение, что даже внутри помещений можно получить сигнал GPS достаточный для синхронизации часов. Ведь хватит не самого стабильного сигнала всего с одного спутника. Вот только вроде как затруднительно получить эти данные с GPS-приемника, пока он не установил связь с достаточным для работы навигации количеством спутников.
ELEKTRO_YAR
23.05.2017 13:21Пф, что сложного перепроверить библиотеку для MPR121, я ее вообще на си переписал для esp32
dernuss
23.05.2017 13:52Я понимаю, ни чего сложного.
Просто с наскоку не получилось, а поскольку они сами настраиваются, кнопки не нужны сразу стали)
grimich
23.05.2017 13:41Господи, наконец-то! Идеальные часы!
Давно ищу
Где кнопка «купить»? :)dernuss
23.05.2017 13:56Кнопки купить нет( делал для себя.
Если будет небольшой спрос, штук на 100.
Можно заказать в Китае сборку.
Для себя планирую ещё смонтировать штуки 2. По разным комнатам расставлю.
Хотя паять вручную такую платку радости мало.LexB
23.05.2017 17:32спрос, штук на 100.
Китайцы сделают 500 и распродадут своими каналами.
Можно заказать в Китае сборку.
Alexeyslav
23.05.2017 17:07Обычно делают систему из первичных и вторичных часов, первичные получают время по GPS а вторичные запрашивают у них точное время по радио или проводу, применяя модули nRF24L01. В таком случае можно вовсе отказаться от кварцевой стабилизации в самих часах получая точное время каждую минуту, не насилуя NTP-сервер.
dernuss
23.05.2017 17:22Конечно можно и так (я даже сначала так и хотел), но надо делать первичные часы(устройство).
В моём случае NTP сервер не насилуется, так как синхронизация раз в пять часов происходит. И вайфай тоже отключается. А кварцевая стабилизация стоит копейки. И даже в моём случая я думаю от неё можно отказаться. Да и время синхронизации увеличить.
Bonio
23.05.2017 22:17Для чего в данной схеме ионистор? Я делал часы на PCF2129, это часовая микросхема со встроенным кварцевым генератором, вот там я применял ионистор для питания микросхемы на время отключения внешнего питания. Часы работают уже несколько лет подряд и за это время не подводились ни разу, кстати.
А тут ионистор кажется лишним, раз при включении можно сразу время синхронизироватьdernuss
23.05.2017 22:42-1часовая микросхема со встроенным кварцевым генератором
Наверное DS3231 использовали. Точная микросхема. Но всё равно 2ppm, а это около минуты в год точность.
leex
24.05.2017 09:28Спустя несколько дней написания кода и исправления ошибок монтажа
Имеется ввиду ошибки монтажа или трассировки? Исправления в проект не вносили? Хочу повторить, но не хотелось бы заказывать плату с ошибками...dernuss
24.05.2017 09:32+1Монтажа, были пару светодиодов перевернуты.
В трассировке ошибок нет. Повторяйте, если хватит терпения сделать монтаж;)
roma_turkin
Надо такие же, только поменьше, в микроволновку сделать! И с зарядочкой от микроволнового излучения!