Часы Фибоначчи

BlackBug Engineering

★✩✩✩✩✩✩
10 Ноя 2019
31
39
На просторах Интернета встретил отличную идею - часы Фибоначчи. У меня пока не хватает времени на реализацию, выглядит все очень не сложно и вполне реализуемо на любимых теперь (благодаря AlexGyver) светодиодных лентах WS2812. Стоят в магазине порядка ~8000р.
FiboClock.png
Как определить время на часах Фибоначчи?

Последовательность Фибоначчи - это последовательность чисел, созданная итальянским математиком Фибоначчи в 13 веке. Это последовательность, начинающаяся с 1 и 1, где каждое последующее число является суммой двух предыдущих (1, 1, 2, 3, 5, 8, 13, 21...).

Экран часов состоит из пяти квадратов, длина сторон которых соответствует первым пяти числам Фибоначчи: 1, 1, 2, 3 и 5 (которые складываются в 12 — полезное число для часов!)
Для цветовой схемы по умолчанию:
- Часы отображаются красным цветом.
- Минуты отображаются зеленым цветом.
- Когда ячейка используется для отображения как часов, так и минут, она становится синей.
- Белые квадраты игнорируются.

Чтобы узнать часы - сложите соответствующие значения красного и синего квадратов.
Чтобы узнать минуты - сложите соответствующие значения зеленого и синего квадратов. Минуты отображаются с шагом в 5 минут (от 0 до 12), поэтому нужно умножить результат на 5, чтобы получить фактическое число.

Схема:
fibonacci_schema.png

Магазин: http://store.basbrun.com/product/fibonnaci-clock/
Исходники: https://github.com/pchretien/fibo
 

PiratFox

★★★✩✩✩✩
13 Фев 2020
488
106
Харьков
Эээ... Стесняюсь спросить, но... Это для инопланетян с Альфа центавра такое? Нормальный землянин, взглянув на такие часики,
скорее мозги себе сломает, чем узнает время, да... Признавайтесь, на ящериков работаете?
 

BlackBug Engineering

★✩✩✩✩✩✩
10 Ноя 2019
31
39
Эээ... Стесняюсь спросить, но... Это для инопланетян с Альфа центавра такое? Нормальный землянин, взглянув на такие часики,
скорее мозги себе сломает, чем узнает время, да... Признавайтесь, на ящериков работаете?
Не нравится, так не делайте! Не используйте! Мне идея понравилась, потому что каждый раз, чтобы время узнать нужно немного напрячь мозги. После того, как один раз разберешься, дальше считается быстро. Я вам больше скажу - я и из PlayStore себе такие в телефон поставил! В тайне надеюсь, что я с Альфа центавра :) и они меня заберут к себе, когда короновирус доберется...
 

aas84

✩✩✩✩✩✩✩
15 Окт 2019
7
2
пока корпус напечатан на принтере. буду делать из мдф.ф1.jpgф2.jpgф3.jpgф4.jpgф5.jpgф6.jpg
 

b707

★✩✩✩✩✩✩
4 Июн 2020
55
18
Идея прикольная, но код по ссылке неудачный. Мало того, что написан очень некрасиво, с кучей повторов - но главное он искажает саму идею часов. Смысл ведь не в том, чтобы накидать цветные квадраты абы так - нужно засветить часы и минуты с минимальным числом пересечений. То есть подобрать такую комбинацию, чтобы число синих (общих в часах и в минутах) пикселей было минимально.
А этот код просто засвечивает квадраты в случайном порядке. Это хорошо видно на третьей картике из сообщения aas84 - на ней два одинарных квадрата светятся синим- то есть участвуют и в часах и минутах- в то время как "двойка" рядом вообще не используется
 

aas84

✩✩✩✩✩✩✩
15 Окт 2019
7
2
пиксели не должно было быть видно, только цвет. слишком тонкую крышку напечатал, просвечивает. пришлось количество светодиодов сделать 1, 1, 2, 3, 5 (12 шт. вместо 9, как в оригинале).
 

b707

★✩✩✩✩✩✩
4 Июн 2020
55
18
пиксели не должно было быть видно, только цвет. слишком тонкую крышку напечатал, просвечивает. пришлось количество светодиодов сделать 1, 1, 2, 3, 5 (12 шт. вместо 9, как в оригинале).
не, как раз это правильно - сразу видно, сколько "стоит" тот или иной квадрат :)
 

BlackBug Engineering

★✩✩✩✩✩✩
10 Ноя 2019
31
39
Идея прикольная, но код по ссылке неудачный. Мало того, что написан очень некрасиво, с кучей повторов - но главное он искажает саму идею часов. Смысл ведь не в том, чтобы накидать цветные квадраты абы так - нужно засветить часы и минуты с минимальным числом пересечений. То есть подобрать такую комбинацию, чтобы число синих (общих в часах и в минутах) пикселей было минимально.
А этот код просто засвечивает квадраты в случайном порядке. Это хорошо видно на третьей картике из сообщения aas84 - на ней два одинарных квадрата светятся синим- то есть участвуют и в часах и минутах- в то время как "двойка" рядом вообще не используется
Спасибо за глубокую проработку, откровенно говоря, код еще не смотрел подробно, если у Вас есть предложения по коду, то обязательно пишите в ленту! Думаю это будет по меньшей мере познавательно и полезно причесать код.
 

aas84

✩✩✩✩✩✩✩
15 Окт 2019
7
2
видел на авито часы Фибоначчи с вайфаем.
предложения по коду в плане, как оптимизировать или что то добавить? в школе изучали бейсик, в институте паскаль, в си не силен. хотел добавить регулировку яркости от освещения - не получилось. может быть добавить в эффекты "белый цвет убрать"?
 
  • Лойс +1
Реакции: BlackBug Engineering

BlackBug Engineering

★✩✩✩✩✩✩
10 Ноя 2019
31
39
видел на авито часы Фибоначчи с вайфаем.
предложения по коду в плане, как оптимизировать или что то добавить? в школе изучали бейсик, в институте паскаль, в си не силен. хотел добавить регулировку яркости от освещения - не получилось. может быть добавить в эффекты "белый цвет убрать"?
По моей задумке белый цвет нужен. Он наполняет содержимым всю картину)
Регулировка яркости - вещь полезная, но сначала хочу пригодное для эксплуатации и удобное устройство получить.
WiFi - по мне, пока лишнее звено.
 

aas84

✩✩✩✩✩✩✩
15 Окт 2019
7
2
По моей задумке белый цвет нужен.
согласен. есть кнопка, которая меняет цвета отображения времени. то есть часы минуты, можно сделать, как красный зеленый, а можно и фиолетовый желтый, синий розовый и т. д. вот эту смену цветов можно убрать, либо добавить отключение белого. пока не знаю, как это будет выглядеть, может и будет не полная картина.
а по яркости, днем на 80%, ночью процентов 5 - 10, уж очень ярко.
да, еще бы будильник. хотя в "будильнике рассвет", "инфинити клок", "гувер лампе" будильники отключены.
 

Eugene17

✩✩✩✩✩✩✩
29 Окт 2019
5
1
сделаны в раме для фото ИКЕЯ 23.5 Х 32.5 см толщина 2.5см

сердце -- esp8266

подключаются по стандартному USB к повер-банку или телефонной зарядке
при первом подключении часы создают wifi точку доступа, подлючившись к которой надо настроить их подключение к Вашему интернету (внешний вид веб интефейса СМ в фото).
время берут при подключении к интернету один раз, дальше могут работать без интернета! идут очень точно!
 

Вложения

  • Лойс +1
Реакции: b707_2

b707_2

★✩✩✩✩✩✩
22 Июл 2020
184
46
при первом подключении часы создают wifi точку доступа, подлючившись к которой надо настроить их подключение к Вашему интернету (внешний вид веб интефейса СМ в фото).
время берут при подключении к интернету один раз,
отлично.
Код будете выкладывать или ну его? :)
 

Eugene17

✩✩✩✩✩✩✩
29 Окт 2019
5
1
код не мой, собран из кусков найденых на просторах:
https://github.com/SensorsIot/NTPtimeESP
единственное что делал полностью сам* - это управление светодиодной лентой при помощи библиотеки fastled, но эта часть кода зависит от кол-ва светодиодов и не масштабируется, надо делать под каждый случай заново...

*и то пришлось обращаться за помощью на youdo :)
 

b707_2

★✩✩✩✩✩✩
22 Июл 2020
184
46
единственное что делал полностью сам* - это управление светодиодной лентой при помощи библиотеки fastled, но эта часть кода зависит от кол-ва светодиодов и не масштабируется, надо делать под каждый случай заново...
это как написать.
Можно вынести число светодиодов в начало скетча в макрос или переменную, и тогда для изменения длины леенты будет достаточно исправить одно число в одном месте, а не переписывать весь код.
 

Eugene17

✩✩✩✩✩✩✩
29 Окт 2019
5
1
думал про это, но тк ленту нужно разбивать на сегменты согласно конфигурации самих часов (два сегмента размер 1, один сегмент размер 2, один сегмент размер 3, один сегмент размер 5), то простой переменной в начале скетча не отделаться...
 

b707_2

★✩✩✩✩✩✩
22 Июл 2020
184
46
все решается. В ветке "Большие часы на светодиодной ленте" можно посмотреть на код, настраиваемый на число ЛЕД на сегмент