Часы с синхронизацией через интернет

Схемы радиоаппаратуры

Вы находитесь здесь: Схемы радиоаппаратуры Любительские схемы Часы Интернет-часы

Интернет-часы

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

По сравнению с предыдущими эти часы проще в использовании - они вообще никак не настраиваются, у них нет ни кнопок, ни пульта управления. Этакая вещь в себе - включил, и они идут, причем правильно! Даже при первом включении сами определяют, летнее сейчас время или зимнее. Хитрость в том, что они берут время из интернета, используя роутер, который есть сейчас практически в каждом доме. Настройка делается только один раз, на этапе программирования.

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




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

Основа часов - плата NodeMCU-V3 с модулем WiFi ESP-12E:



Здесь транзистор 2N7002 служит двунаправленым преобразователем уровня сигнала DIO.

Подстроечник на 20 кОм позволяет оперативно отрегулировать порог срабатывания автоматического регулятора яркости. Как и в предыдущих часах, пришлось ограничиться всего двумя уровнями из-за сильного разброса яркости индикаторов, собранных с разных концов Китая.

Кнопка поставлена по ошибке. Имея мало опыта в работе с NodeMCU, я свято верил, что для ее программирования обязательно надо нажимать кнопку "Flash". Кнопка в часах дублирует кнопку "Flash", чтобы можно было перепрограммировать часы, не открывая корпус. Когда часы уже были собраны, я случайно не успел нажать эту кнопку, а часы все равно перепрошились. Вот такой сюрприз! Эта кнопка выведена на нижнюю сторону корпуса:




Задняя плата крупным планом:




А это передняя плата:




Вот ее схема:








Для соединения плат между собой применен шлейф от компьютерного COM-порта и соответствующий разъем, укороченный на 2 контакта.

Теперь немного о скетче. В нем указаны основные настроечные константы, которые в процессе эксплуатации уже не меняются.

Ssid[] и pass[] - имя и пароль WiFi-сети; надо подставить свои значения.

NTP_ADDRESS - адрес сервера точного времени, можно выбрать из имеющихся или найти другой.

ClocksCorr - величина коррекции хода часов. Ее можно вообще не использовать. Она желательна, если часы очень неточные, а интервал между обновлениями большой. Пределы ее изменения - от -128 до 127 в десятичном виде; от 0x80 до 0x7F в 16-ричном; от +1,1 до -1,1 в секундах за сутки. Положительные значения замедляют ход, отрицательные - ускоряют.

TempCorr - величина коррекции температуры в десятых долях градуса. Она нужна из-за того, что внутри корпуса температура примерно на 3,5 градуса выше, чем снаружи. Подбирается в установившемся режиме путем сравнения с другим термометром.

PressCorr - величина коррекции давления (в мм рт. ст.). Нужна в том случае, если хочется, чтобы давление совпадало с данными любимого погодного сайта.

TimeZone - часовой пояс (поправка времени, сдвиг времени относительно гринвичского). Если летнее/зимнее время не используется, можно задать фиксированное значение при объявлении объекта timeClient и не использовать функцию getTimeZone().

Для программирования я использовал следующие настройки Arduino:




В архиве для скачивания находятся схема часов, скетч, печатные платы, использованные библиотеки, чертеж корпуса и схема модуля NodeMCU-V3 с конвертером CH340.


Скачать схему интернет-часов.













Основные разделы:

Подразделы любительских схем:



География посетителей:


Flag Counter

Рейтинг@Mail.ru Яндекс.Метрика