![]() |
|
Вы находитесь здесь: Схемы радиоаппаратуры |
|
Интернет-часыБыли у меня часы, да состарились и морально, и физически. И решил я продолжить обновление своего парка часов. По сравнению с предыдущими эти часы проще в использовании - они вообще никак не настраиваются, у них нет ни кнопок, ни пульта управления. Этакая вещь в себе - включил, и они идут, причем правильно! Даже при первом включении сами определяют, летнее сейчас время или зимнее. Хитрость в том, что они берут время из интернета, используя роутер, который есть сейчас практически в каждом доме. Настройка делается только один раз, на этапе программирования. Новые часы собраны в таком же корпусе, что и предыдущие (ну, понравился он мне): ![]() Из функций убраны 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. Скачать схему интернет-часов. ![]() |
Поиск по сайту: Основные разделы:
Подразделы любительских схем:География посетителей: |
© Копирование материалов разрешено только при обязательном размещении активной ссылки на сайт http://s-x-e-m-a.ru |