Часы 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 — с нуля перерисовал модель часов и неоднократно вносил правки.
Спасибо большое за поддержку, советы, помощь =)

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

Видео отрисовки для оценки шума. В комнате полная тишина, только сверчки за окном орут
Добавить в избранное +91 +133
+
avatar
+2
Интересная идея, мне понравилась. А возможно засвечивать пленку с обратной стороны? Что бы спрятать рычажный механизм внутрь устройства? Жужжат громко при отрисовке?
+
avatar
  • ResSet
  • 19 июля 2018, 10:24
+1
Жужжат не очень громко, видео заливается — забыл утром опубликовать )
Можно засвечивать с обратной стороны, но тогда нужно будет делать лицевую панель из акрила.
+
avatar
+3
А возможно засвечивать пленку с обратной стороны? Что бы спрятать рычажный механизм внутрь устройства?
Любопытная мысль :)
+
avatar
  • ResSet
  • 19 июля 2018, 10:34
+4
Да, станет тише и смотреться будет чуть эстетичнее, но многим нравится именно открытый вид механизма. С обратной стороны то и вспышкой светодиодов засветить можно, всё равно не видно что там под крышкой, а пожужжать можно бутафорской сервой без рычажка для эмуляции работы механики =)
+
avatar
0
Да нет, магия будет в самом появлении цифр, как будто какой-то невидимка маркером рисует :)
+
avatar
  • ResSet
  • 19 июля 2018, 10:42
+3
В прошлый раз комментаторы разбились на два лагеря, одни хотят магию, вторым больше по душе механика в чистом виде =)
Без проблем можно реализовать версию с внутренней начинкой — можно даже скетч не переделывать, просто перевернуть излучатель наружу и утопить механизм внутрь корпуса. Правда у меня нет прозрачного акрила для тестирования )
+
avatar
0
Выслать? У меня вроде где-то валялся кусок толщиной 2мм :)
+
avatar
  • ResSet
  • 19 июля 2018, 10:49
0
А зачем я тогда писал, что дальнейших наработок не будет? ))
Там же надо будет еще с корпусом что-то думать. Если готов еще повозиться с новым креплением серв, можно попробовать. Там же вроде еще прилично места было до нижней грани задней стенки, может даже минимум переделок получится.
+
avatar
0
Ну не то чтобы прилично… Но в любом случае корпус переделывать полностью, делать его более широким, иначе рычаги будут в стенки упираться :)
+
avatar
  • ResSet
  • 19 июля 2018, 11:14
0
Да, я забыл, еще же и в дно упираться будут, а значит придется еще и приподнимать
+
avatar
0
Ну если продолжение будет, то выскакивающая кукушка там обязана быть! ;)
+
avatar
  • ResSet
  • 19 июля 2018, 21:25
0
В теории если сделать рисование изнутри, можно сделать верхнюю крышку откидывающейся )
+
avatar
0
уф лазером это делать который спрятать внутри коробки.

ну или обычный диод сфокусировать, должно и такого хватить.
+
avatar
  • ResSet
  • 19 июля 2018, 11:30
0
Если использовать прозрачную подложку, однозначно хватит и УФ диода =)
+
avatar
0
уф лазер или светодиод с оптикой можно внутри расположить на качающейся платформе, управляемой двумя сервами. Как камеры в RC игрушках крепят. Тогда не нужны будут громоздкие рычаги, изображение будет рисоваться лучом исходящим из одного места.
+
avatar
0
еще можно не самим лазером рулить, а зеркалом направлять луч.
+
avatar
0
ага, этакий самопальный dmd-чип собрать, как в DLP проекторах
+
avatar
+3
Переизобретаем кинескоп с механической разверткой? :)))
+
avatar
0
вынашиваем планы по усовершенствованию существующего )
+
avatar
+1
нет, лазерный принтер)
+
avatar
0
Тоже неплохо :)))
+
avatar
  • Rzzz
  • 19 июля 2018, 21:35
0
Кстати да, даёшь диск Нипкова!
+
avatar
+1
Тогда не нужны будут громоздкие рычаги, изображение будет рисоваться лучом исходящим из одного места.
Боюсь предположить из какого. ;)
+
avatar
0
О каком УФ лазере речь?
+
avatar
+1
Появились в продаже УФ лазеры по адекватной цене? Можно ссылку?
+
avatar
0
Условно можно отнести к ближнему УФ. Сейчас полно модулей с излучением 405 nm. Порядка 800-900 рублей на али. В данной конструкции не требуется именно ультрафиолет, просто он наиболее сильно возбуждает люминофор.
+
avatar
+2
405 нм лазер у меня уже 7 лет есть. Я думал реальный УФ появился в продаже…
Лучше чётко разделять, что выше 400 нм является фиолетовым светом, а ниже — УФ.
+
avatar
  • Sidula
  • 19 июля 2018, 14:01
+2
Отказ от маркера убивает большую часть обаяния этой конструкции.
А если ещё и механику спрятать…
«Магия» появления цифр легко делается программно на ЖК дисплее, никакой разницы не будет.
+
avatar
  • Ramiro
  • 19 июля 2018, 15:19
+1
так не весело, тогда надо на советском осциллографе делать), хотя наверно все уже сделали и при советах)
+
avatar
0
Есть уже, и не один вариант :))
Целое направление есть — часы на кинескопах от старых осциллографов :)
+
avatar
0
Даже игра Тенис была на осцилографе, как помнится.
+
avatar
  • AndyBig
  • 24 августа 2018, 16:36
0
Да что там тетрис, вон Quake на осциллографе :)


И даже видеомонитор:
+
avatar
+1
Отличная реализация! А если добавить пищалку, то можно и будильник сделать :)
+
avatar
  • ResSet
  • 19 июля 2018, 10:33
+4
andreyMOZ предлагал кукушку вставить )) и желательно с вылетом откуда-нибудь
+
avatar
+1
и желательно с вылетом откуда-нибудь
При помощи порохового заряда? :)))
+
avatar
  • ResSet
  • 19 июля 2018, 10:39
+3
Можно использовать пружину, редуктор и одноразовый крепеж внутри корпуса )
Редуктор натягивает пружину, крепеж не выдерживает и кукушка пробивает лицевую панель, внося небольшой эффект неожиданности ))
+
avatar
+1
Уверен, что с определением «небольшой» испытавшие это на себе не согласятся :)))
+
avatar
  • ResSet
  • 19 июля 2018, 10:47
+2
Можно вместо «ку-ку» использовать другой звук, например лай собаки или чихание. Думаю эффект будет еще лучше.
Идет такая умиротворенная плавная разрисовка, и тут посреди процесса с воплем «ААПЧХИ!», разрывая корпус, вылетает какое-то пернатое чучело ))
Можно открыть небольшой склад кирпичей рядом с домом )
+
avatar
0
> Можно вместо «ку-ку» использовать другой звук

Вот неплохой. Главное, чтобы сердечников не было.
+
avatar
  • ResSet
  • 19 июля 2018, 11:32
0
Главное, чтобы сердечников не было.
Дык можно стать после такого
+
avatar
0
разрывая корпус, вылетает
чужой.jpg


предлагал кукушку вставить
надо дрон!)
+
avatar
0
с реактивным гранатометом, чтобы точно никто не проспал :)))
+
avatar
  • u3712
  • 19 июля 2018, 11:44
0
Отрисовка каждые 10 минут подходит для полной темноты.
Может стоило уменьшать ток? Яркая 'вспышка' в полной темноте не улудшает качество работы.
+
avatar
  • ResSet
  • 19 июля 2018, 11:48
0
Вспышка направленная, сильно по глазам не бьет, но видно зато издалека. А так да, можно было для полной темноты чуть ослабить засветку, все равно пересвет быстро гаснет, а вот остатки светятся довольно долго — силуэты видно еще часа 2.
+
avatar
0
Вполне возможно, что при ослаблении засветки и «остатки» будут не так долго светиться :)
+
avatar
  • ResSet
  • 19 июля 2018, 12:22
0
Насколько я понял, нет зависимости от степени засветки, просто уровень яркости падает тем быстрее, чем интенсивнее начальное свечение. То есть засвечиваем средне, яркость плавно угасает на протяжении двух часов. Засвечиваем сильно — яркость довольно быстро угасает до уровня средней засветки, а потом так же за пару часов практически сходит на нет. Я 9 Ваттным УФ излучателем нагонял яркость до такой степени, что лист пленки освещал комнату )) но потом менее чем за минуту угасал до эталонного
+
avatar
  • u3712
  • 19 июля 2018, 12:32
0
Вы перенасыщаете активный слой, поэтому и «нет зависимости».
+
avatar
  • ResSet
  • 19 июля 2018, 12:43
0
Но разве не линейная зависимость у свечения после достижения эталонного уровня?
Очень грубый график
+
avatar
  • u3712
  • 19 июля 2018, 12:52
0
У пленки есть величина энергии, которую она способна поглотить — аккумулировать. Именно такую энергию она и отдает в нормальном послесвечении. Если вы вгоните в нее больше, то избыток быстро рассеится. Бессмысленно повышать мощность выше номинальной, яркость нормального (долговременного) свечения почти не увеличился — ей взяться не от Куда.
+
avatar
  • ResSet
  • 19 июля 2018, 13:37
0
Вы перенасыщаете активный слой, поэтому и «нет зависимости».
Я лишь утверждаю, что зависимость без перенасыщения будет линейная. При слабой засветке угасание будет происходить с такой же скоростью, как и угасание от этого уровня при средней засветке.
При перенасыщении да, избыток будет рассеиваться быстрее.
+
avatar
  • u3712
  • 19 июля 2018, 13:18
0
Вы добавили график.
Теперь возьмите ручку и к_желтой_линии пририсуйте =горизонтальную= линии справа. Теперь понятна, что Такое «насыщение»?
+
avatar
0
Значит я ошибаюсь :)
+
avatar
  • ResSet
  • 19 июля 2018, 13:39
0
Не совсем, просто чем меньше свечение, тем дольше оно будет рассеиваться. Уменьшив засветку вдвое мы не сократим на столько же время свечения. Только на то значение, которое потребовалось бы для самостоятельного угасания до этого уровня =)
+
avatar
0
Да, согласен :)
+
avatar
  • fatjoe
  • 19 июля 2018, 12:54
0
занятно
+
+
avatar
-1
предлагаю идею:
вместо пленки используем экран
программно можем все: яркость/скорость/послесвечение
рычаги оставляем для псевдопрорисовки
как вам?
+
avatar
0
Рычаги в таком случае тоже убираем и рисуем их на дисплее. Жужжим MP3-файлом через динамик.
+
avatar
  • ResSet
  • 19 июля 2018, 16:53
+2
Это ж дороже и уже не тру механика )
+
avatar
0
а можно чуть подробнее про
«Скетч уже содержит ответственный за обновление кусок»
может у вас ссылки остались, как это делается.
+
avatar
0
Шумъ!
+
avatar
  • ResSet
  • 20 июля 2018, 18:16
0
Я ж почти вплотную камеру ставил, так то в другой части комнаты будет тише. Еще ножки силиконовые заказал, но чет они долго идут — должно стать лучше.
+
avatar
+3
+
avatar
  • ResSet
  • 21 июля 2018, 13:06
0
Крутотень, полная механика )