PlotClock v3. Автосинхронизация, режимы.

Всем привет! Сегодня я хотел бы показать новую версию необычных часов.
Что нового: Корпус перерисован, уменьшилось количество деталей для печати. При желании можно оставить старый корпус, т.к. размеры и расположение элементов остались без изменений.
Добавлено подключение к домашней сети и синхронизация времени, несколько таймеров отрисовки, экран для вывода дополнительной информации — отображение состояния, точного текущего времени и режима работы. Ну и появилась поддержка OTA обновления прошивки. Была мысль перейти на автономное питание, но решено пока оставить всё как есть.
Как и положено, к посту прилагаются бесплатные авторские модели и скетч.
Подробнее под катом.

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

Что было приобретено:
Сервоприводы3.6$ за штуку. Я покупал 10 штук за 10$, но их сейчас нет в наличии.
Люминесцентная лента 50мм х 1м3$. Этого хватит на сборку 14 копий.
Но потом наткнулся на лот 100мм х 3м за 8$. Выходит дешевле втрое за аналогичную площадь и меньше обрезков. В итоге у меня 2 рулона и пол дома уже обклеено «маячками» — выключатели, циферблат настенных часов и т.д.


WeMos® D1 mini4$
Модуль экрана2.78$. Есть двухцветный вариант за 6.26$
Кнопки выпаял из старого роутера, но можно купить тут горсть за 1.3$, в частности нужны 6x6x7мм.
Резистор на 220 Ом нужен для ограничения тока светордиода, тоже выпаял откуда-то, можно найти в любом радиомагазине за копейки.
УФ светодиоды заказывал в нескольких местах и понятия не имею какой из продавцов меня кинул, но скорее всего пришли отсюда — рейтинг магазина выше, хотя в али это сейчас перестало быть показателем. Так же можно приобрести этот компонент в оффлайн магазине, как и резистор.
Шурупы и болтики M2 покупаются в строительном.
Итого, если ничего из этого не валяется где-то дома, выходит около 20$, скорее всего часть комплектующих можно найти дешевле, я сильно не заморачивался.

Сборка

Я тут нацарапал схему

Для начала подключил экран к вемосу, решил паять. Из идущих в комплекте пинов сделал разъем для подключения серв

Вот тут модели для печати. Изначально планировалось использовать целых 3 кнопки, но скетч переделывался после создания корпуса и управление было упрощено до одной, поэтому заднюю я вообще не ставил, а верхние объединил. Можно задействовать любую.


Подключаем сервоприводы. Не стал паять их — пригодятся еще.


Я использовал не последнюю версию передней панели, в новой винты вкручиваются с лицевой стороны

Лепим кусок светящейся ленты

Фокусирующий колпачок клеить не надо, он плотно надевается на корпус излучателя.

Не забываем припаять токоограничивающий резистор

Рычаги собирать как показано на картинке чтобы не было заломов в крайних точках.

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

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

Настройка

Вот тут можно скачать скетч и библиотеки. Последние правильнее конечно устанавливать через IDE, но так проще.

В настройках IDE надо будет добавить источник

arduino.esp8266.com/stable/package_esp8266com_index.json


И в менеджере плат

Добавить поддержку Wemos D1

Открываем скетч, ищем 23 строку, включаем калибровку, убрав комментирование. В 31 и 32 строке ставим нули.

Далее находим 56 и 57 строку. Тут нужно вбить имя и пароль домашней WiFi сети

Не забываем выбрать плату и порт

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

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

OTA – обновление по воздуху
Скетч уже содержит ответственный за обновление кусок, для правильной работы необходимо лишь установить питона
Во время установки обязательно поставить эту галочку

Ну а потом нужно просто перезапустить IDE. Часы должны быть включены и соединены с домашней сетью. И если всё хорошо, в настройках порта появится новая строка, которая будет ссылаться на адрес часов.

Вот так процесс прошивки отображается на экранчике сабжа. Главное не ошибиться в имени и пароле сети, иначе для повторной прошивки нужно будет пользоваться шнуром.

Функционал

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

При удержании кнопки дольше 3 секунд, меняется интервал отображения: 1 минута, 5 минут, 10 минут
Отрисовка поминутная. Хорошо подходит для светлого помещения

Отрисовка каждые 5 минут. В вечернее время цифры дольше видно.

Отрисовка каждые 10 минут подходит для полной темноты.

На гифках видно, что перспектива искажена. Ранее цифры рисовались низковато, я грубовато подстроил, т.к. было лень подбирать идеальные значения. Меня это не сильно напрягает, но при желании всё можно поправить. В табличке приведены примеры корректировки того или иного значения и ожидаемый результат.

Так же на качество отрисовки влияет соединение рычагов, сами понимаете — даже небольшой люфт на стыках будет вносить хаос. В идеале бы использовать мелкие подшипники как в RC моделях, но у меня не было лишних, да и заморочено слишком =)

Дальнейших доработок в планах нет. Как писал выше, автономное питание можно с легкостью установить, потребление в режиме ожидания около 50мА, во время отрисовки в среднем 300мА, плюс потери на преобразование. С минимальным ожиданием и учетом потерь на преобразование, 18650 аккумулятора 3000 мАч должно хватить часов на 10 непрерывной работы, что не так много, но приемлемо если рассматривать такое решение как UPS.
Хотя если запускать в режиме 5 или 10 минут, автономность соответственно вырастет в несколько раз.

Напоследок я хотел бы выразить благодарность двум людям, которые откликнулись, потратили свое личное время и помогли довести начатое до конца:
andreyMOZ — неоднократно помогал со скетчами, начиная с робота и заканчивая тремя версиями часов
AndyBig — с нуля перерисовал модель часов и неоднократно вносил правки.
Спасибо большое за поддержку, советы, помощь =)

Если Вам понравился проект, не поленитесь и подкиньте плюсиков парням — сама карма ни на что не влияет, но я думаю им будет приятно. Всем добра =)

Добавить в избранное +14 +17

(c) 2017 Источник материала

Пролистать наверх