Pull to refresh
51
0.1
Send message
Правильные часи с перекидными цифрами
Правильные часи с перекидными цифрами

Можно что-то подобное сотворить. Большой вопрос с экранами.

Интересная мысль, но с практической точки сомнительная :) Фантазийный какой-то эффект.

Динамика неправильная. Я хотел сделать свой похожий эффект, но решил, что с точками лучше выйдет.

Я художник, я так вижу

И это отлично! Я тоже не настаиваю, что мой вариант универсально лучше. Эффект с перекидывающимися цифрами я тоже думал, но сделал бы тоже иначе... :)

В некотором роде это тоже реализовано. Идея этого проекта была совсем в другом. Но я написал (по большей части взял код из адафрута) конвертор TTF в матричные шрифты. В данном случае этот шрифт используется для названия города. В проекте использованы шрифты разных размеров и если не вмещается название одним размером, то подбирается шрифт меньшего размера, пока название не поместится на экране.

В зависимости от конкретной модели чипа. После сверх успешного ESP32 они выпустили ещё несколько вариантов разных модификаций, как более мощных, так и менее. https://www.espressif.com/en/products/socs

Я пробовал делать програмную "фиксированную точку", выигрыша по сравнению с float на ESP32 не получил.

Конкретно на ESP32 есть аппаратная реализация плавающей арифметики float. Поэтому, простые расчёты для кривых проходят "довольно быстро", сейчас уже не могу сказать насколько быстро точно, но по итогу именно эти расчёты не задерживали. Однако, сам процесс рисования на физическом экране может быть узким местом. Поэтому, я рисовал всё на виртуальных экранах в памяти, а потом целиком выводил на экран. Например, для рисования точки на физическом экране надо выполнить нескоко команд по установке границ заливки, а затем переслать уже цвет точки. Переслать прямоуголную область будет занимать почти столько же времени, сколько рисовать одну точку. Ну, в зависимости от размеров области, конечно, но всё-таки. С вируальными экранами проблема достаточного количества RAM, особенно, когда рисовать надо на экранах большого разрешения.

Вот канал автора того проекта, там несколько вариантов эффектов https://www.youtube.com/@denisbarinov2212

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

Точно, это был тот самый проект, что меня вдохновил :)

Можно за счёт потери параллельности пересылки, FPS упадёт в два раза.

Мой модуль называется NodeMCU-32S, но чип на нём ESP32, без -S.

Действительно, пропадает. На самом деле, исчезновение предусмотрено. Скорее всего, случайно его сломал и не заметил из-за редкости возникающего случая.

Главное, чтобы было 2 свободных SPI, по одному на каждый дисплей. Если я правильно помню, то серия -C имеет всего один свободный. Я пользовался обычным ESP32, без -S, -C и прочих вариантов. Серия -S обычно более навороченная, но и более дорогая. Программа на флешке занимает чуть больше мегабайта. Сам удивился, но большая часть занятого места -- стандартные части от ESP-IDF. Для работы после загрузки OS остаётся примерно 300кБ свободной RAM, программа при нормальной работе оставляет в куче 65-75кБ свободными, так что RAM хотя бы 450кБ должно быть. Из представленных на сайте я вижу только ESP32-S3 и ESP32 удовлетворяют требованиям, хотя -S3, я считаю перебором.

Надо будет порефакторить и сдёрнуть к себе в плазменные часы :-)

Я, кстати, читал эту статью, круто вышло!

Вы первый, кто обратил внимание на код :) Есть такая проблема, согласен. В своё оправдание скажу, что идея развивалась итеративно, постоянно шли эксперименты что как и где показывать, как организовать структуры данных. И делалось это урывками по паре часов в неделю, когда надо какое-то время потратить на мысль "а на чём я остановился и что запланировано дальше". После нескольких месяцев такого режима хочется уже наконец просто дописать проект до результата и не париться о рефакторинге :) Программа работает стабильно, работает как надо - задача выполнена. Рефакторинг оставлен на следующий проект в котором потребуется этот код.

Идея чтобы у солнышка отрастали лучики или наоборот сворачивались у меня была. Планировал решить именно тем способом, что и с цифрами - лучики делать последними точками в списке, тогда все общие будут оставаться на своих местах, а убираться или появляться будут автоматически. Но надо правильный порядок. Потратил много времени на эти символы и на войну с редактором, в котором их делал. Простой символ облака порядка 70 точек, расставлять индексы у более чем 20 иконок так чтобы переходы получились "плавными" -- я быстро устал, поэтому оставил просто в порядке сканирования, эффект тоже прикольный.

На счёт по близости координат -- такая идеяу меня тоже была, но там слишком много вопросов по крайним случаям, отказался от реализации.

1,5" там каждый дисплей, когда они там два рядом, то это уже 2.74". В текущем виде на уровне глаз мне хватает в зале, но я согласен, думаю наверх в другой комнате надо побольше что-то.

Извиняюсь, не проверил. Вы, должно быть видели одно из этих моих видео: Bezier Curves Clock with weather, Digital clock with handwritten numbers

Идея интересная, спвсибо, учту на будущее.

Information

Rating
3,157-th
Location
Германия
Registered
Activity

Specialization

Backend Developer
Lead
JavaScript
PHP
Linux
Perl
MSSQL
C++
C
Programming microcontrollers
Java
BPMN