Pull to refresh

Comments 114

Прочитал с интересом и буду ждать следущих частей.

Возможно несколько забегаю вперёд (а может это те вопросы, на которые вы ответите в последущих частях) но,
1. каковы габариты получившихся часов?
2. сколько электроэнергии они потребляют?

Не понятно из этой части зачем в данном случае используются датчики температуры, освещённости и модуль bluetooth. Можете рассказать?

Влезу с комментарием насчет потребления. У меня самодельная подсветка проёма окна на esp32 и адресных rgb светодиодах. Стоит 50% яркости. 112 диодов. Ваттметр показывает 3-4 ватта на динамическом режиме (переливы и переходы). 7-8 ватт на разных вариациях теплоты белого света.
Спасибо, как раз очень полезная информация :)
С Новым Годом :)
Нашел габариты под первой картинкой, вопрос 1 снимается :)
зачем в данном случае используются датчики температуры, освещённости и модуль bluetooth

Повангую:


  • показывать температуру и влажность (типа метеостанция)
  • адаптировать яркость свечения светодиодов к окружающей обстановке
  • для упрощения настройки, вместо кнопок

Мои габариты примерно 30×80 см (одна цифра — как лист А4).
При желании, размер можно менять (только с кодом (поколдовать) придётся.
Датчик температуры — чтобы часы показывали температуру, bluetooth — удобно управлять (время корректировать, отладочную информацию смотреть). Можно обойтись без них))
Про потребление энергии — не совсем понял вопрос… Питание от БП 5 Вольт/2 Ампера, если в кВт•Ч, то не замерял))

С этого как бы надо начинать — определить требования к источнику питания. Иными словами: какой ток потребления будет у схемы если включить все светодиоды сразу. И потом уже подбирать блок питания или выдвигать дополнительные требования к алгоритму работы, гарантирующие ограничение потребления.
Пункт 7 — всё написано))
Я включал все диоды разом, в том числе на полную яркость (не белым цветом) — всё ок.
Ограничение потребления при желании сделать можно. Вопрос — зачем? Проект устроен таким образом, что это попросту не требуется. В конце концов, это часы, а не фонарь.
Всё Ок, это «ничего не сгорело», или ток не больше 2А, или всё же больше и блок питания просел под нагрузкой?
Понятно, что для часов не будет большой нагрузки, особенно если все диоды не включать на полную мощность, но ньюанс этот учесть надо и убедится что ничего не сгорит вдруг. Сегодня это часы, завтра попытаешься отобразить что-то ещё в результате чего включатся все сегменты на полную яркость(днём) и блок питания проработает не больше 15 минут испустив волшебный дым… т.к. окажется что там не 2А а 3А потребление, а блок питания на самом деле рассчитан на 1.5А макс. Встречал я такой треш, на блоке написано 5В 1.0А, а на выходе на выпрямлении без палева стоит диод 1N4148… подумаешь, цифрь на наклейке местами перепутали, должно быть написано 5А 0.1А
Ну, проект «open source» — я сейчас пытаюсь внятно дописать окончательно процесс сборки, соответственно выложу и прошивку. Я не претендую на «чистоту кода» и т.п. — любой желающий может его дополнить и дописать))
Однако: часы работают уже пару лет — всё ок. С БП тоже)

Интересно, а как с ШИМ бороться собираетесь? Для спальни они не пойдут. У меня елочная гирлянда на них 3x50шт + arduino. Так вот ШИМ лезет и сильно заметно, глаза быстро устают, особенно при изменении яркости и если в комнате темно.

Это говорит лишь о том, что режим ШИМ вами подобран неверно. При более высокочастотном ШИМ таких проблем наблюдаться не должно.

К сожалению частота ограничена и связана с длинной ленты. А на коротких отрезках — да, можно чуть быстрее ШИМ выставить. Но все равно не исправляет проблему затемнения для спальни.

Какой "режим ШИМ"? Какая "частота ограничена и связана с длинной ленты"? Ребята, вы что?
ШИМ в WS2812B не регулируется и не зависит от длинны ленты, скорости передачи данных или частоты обновления. И бороться с ним можно только одним способом — выставляя полную яркость, т.е. сводя duty cycle к 100%.

Спасибо не знал, просто ШИМ визуальнее заметен на более длинной ленте. А про яркость, там ещё она меняется — когда смешение цвета идёт (сами кристаллы с разной яркостью горят).

Это не ШИМ заметен, это частота обновления. В большинстве библиотек делают частоту обновления порядка 10 герц и «ступенчатость» изменения яркости очень заметна.
Я когда делал свою снежинку/гирлянду делал частоту обновления порядка 100Гц и все зажигания/потухания сделал плавными. Визуально очень хорошо смотрится.

А питаете вы эту ленту чем?

У WS2812 ШИМ — функция управляющего чипа, частота — 400 Герц, не меняется. Хочется более высокой — нужно использовать более высокочастотные ленты или управляемые светодиоды.

Да, у WS2815 повыше будет, но цена...

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

Да, яркость не линейна, если бы стояла задача сделать из них подобие экрана, пришлось бы строить характеристическую кривую и генерировать LUT.

Странно, у меня тоже гирлянда из адресных светодиодов, и ещё на окно приклеено 10м ленты, и не замечал негативного влияния на глаза.

Какой ШИМ?!


Вы о чем вообще?
Это адресная лента, ШИМом в ней управляет чип в диоде и изменить его нельзя. При этом на глаз он абсолютно не заметен, так как частота его достаточно большая.


Мерцание поделок на готовых библиотеках связано с тем, что обновление массива диодов в библиотеке либо неправильно реализовано, либо выставлено на минимум по-умолчанию (для освобождения CPU), а мамкины инженеры в код даже не смотрели и комментарии там не читали.


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

У ws2812 ШИМ очень заметен на неполной яркости — 400 герц это очень мало. А вот от частоты обновления как раз ничего не зависит, тк диоды не гаснут в промежутках — при подаче сигнала reset он сохраняет ранее заданный цвет до получения нового.
«400 герц это очень мало» завидую и сочувствую вам. Завидую тому что вы имеете возможность рассмотреть быстрые процессы без применения чего либо, сочувствую потому что вы и сейчас сидите за монитором с частотой обновления врядли превышающей 120 герц, движение мышкой уже дискомфорт, а уж окошко перетащить должна быть реальная боль.
Ну да, я вижу «пунктирный след» из мышек, когда ей вожу. Уверен, вы тоже, если примотритесь.

Если смотреть на эти ws2812 строго прямо, то они действительно выглядят норм. Но стоит поводить глазами, и все смешанные цвета и преливы рассыпаются на 7-цветные пунктиры. Попадание таких штук в переферийное зрение ужасно бесит.

Именно потому нельзя делать на их базе движущиеся индикаторы (дисплей на маятнике, пиксельные вентиляторы и тд).
типа таких
image
Ну то есть можно, но получится световая каша с рваными краями у картиок… Но есть управляемые светодиоды с действительно высокой частотой ШИМ. В основном это apa102-256 и их клоны.

"я вижу «пунктирный след» из мышек, когда ей вожу"
Просто потому что частота обновления курсора в разы ниже частоты обновления монитора.

Да даже если бы и таким же был. Скорость мыши на большом экране это метры в секунду. Пробег курсора за такт обновления меньше размеров курсора. ЧТД. А то, о чем вы говорите выливается в то, что при быстрых движениях я вообще часто вижу только начальное и конечное положение.
Не надо ничего смотреть. Достаточно провести взглядом. Мозг рассчитывает, что след на сетчатке будет в виде непрерывной линии. А в случае не очень высокого ШИМ след на сетчатке получается в виде линии из отдельных точек. И это действительно очень бесит, особенно в темноте когда у впереди идущей машины LED габариты имеют невысокую частоту ШИМ.

С ЖК монитором другая ситуация — там частота обновления, а не частота отображения. В старых ЭЛТ мониторах люминофор имел послесвечение которое и сглаживало мерцание. Но когда пошли мониторы 100 Гц, то послесвечение люминофора уменьшили, что бы картинка могла обновляться с частотой 100 Гц и на стандартных 60 Гц такие мониторы очень заметно мерцали если попадали в область периферического зрения(потому что она заточена на определение движения).
Простите, но я вполне определённо написал про мышку и перетаскивание окон, на которых можно заметить влияние частоты обновления. Предполагать что на статичной картинке можно заметить обновление, довольно глупо. Что касается послесвечения люминофора, то тут вы тоже не правы. Поищите фотографии или видео, снятое с экрана, ширина чёрной полосы составит от четверти до трети экрана. «не очень высокий ШИМ» это высоко научный метод измерения. В темноте бесит ровно по той причине, что картинка не статическая, свет (строго говоря удельное количество фотонов на колбочку/палочку) не попадает на одни и те же участки сетчатки. Из за того, что темно, изображение высоконстрастное, а мозгу все равно — перед ним что то дёргается, причём картинка целиком, не её часть или это место закрепления глаз дёргается. Я уж не говорю, мозг стремится сделать так, что движущаяся часть изображения попадала бы на центр сетчатки, там «сенсоров» больше, что добавляет отдельный дискомфорт. В целом 200 герц ШИМ подходит всем, 400 практически абсолютно всем, выше нет особого смысла делать.
В ситуации с монитором и низкой частотой обновления, условные проблемы связаны с тем, что изображение успевает сместиться на достаточное расстояние, чтобы картинка получила ощутимый стробоскопический эффект.
Объясните тогда почему на совсем старых CRT мониторах можно спокойно работать в 60 Гц и не заметно мерцание, а на просто старых, поддерживающих 100 Гц при частоте в 60 Гц заметно мерцание и сильно устают глаза?

Возьмите два светодиода с одинаковой яркостью: один светится постоянно, другой с 10% коэффициентом заполнения и частотой ШИМ 200 Гц. А потом в темноте включите и проведите взглядом — тогда поймёте о чём речь.
UFO just landed and posted this here
Вы читаете только то сообщение на которое отвечаете? Прочитайте начиная отсюда.
Так и в ситуации с диодной лентой картинка успевает сместиться. При достаточно большом расстоянии до источника даже небольшого поворота глаза достаточно.
UFO just landed and posted this here

Шим незаметен (даже на камеру телефона), но в спальню не подошли по другой причине: даже при минимальной яркости в небольшом помещении работают как ночник.
Повесил на работе — там вписались очень органично.

У меня светомузыка Гайвера, последовательно 100 светодиодов. Ночью используется в качестве ночника на 5%. ШИМ не заметен совсем, ни глазом, ни камерой смартфона. В комментариях у Алекса с обсуждением библиотек я где-то видел по поводу частоты обновления, так как у комментатора были проблемы с плавностью.

Всегда удивляло-почему этот вариант отображения цифр для часов так круто выглядит? Причём как в светодиодном, так и в ЖК варианте для наручных часов. Ностальгия?

Удобно для чтения, легко расшифровывается мозгом даже при беглом взгляде. Аналогично рубленому моноширинному шрифту в терминале.

Только недавно прочитал про адресные диоды, тоже планирую что-нибудь сделать на них — статья очень в тему.

Имхо не лучший выбор. Если уж припёрло делать такое руками, то световод + рассеиватель и по одному обычному диоду каждого цвета на сегмент. Экономичнее, не требует ШИМ при минимальной обвязке. Цвет любой. Яркость на ограничителе тока по датчику освещенности (фоторезистор) и/или календарю. Для руления большим числом диодов требуется сдвиговый регистр для часов (тыщщи имс на алишке). Занимает три-четыре пина дуины при значительной экономии электричества и памяти.
Проект, конечно, интересный для разминки погромиста, но это из разряда "мама, сматли фто я сделаль!" — сто пятый способ помигать диодом.

Сходил попил водички, подумалось:
Можно ещё проще. По одному адресному в световом канале (один сегмент и один диод), программно яркость 255, на отдельный пин точно такой же ШИМ по яркости с нагрузкой на rc-цепочку. Цепочка по заполнению даёт падение напряжения строго определённого (расчёт простой), с него напряжение снимается на затвор полевика с малым трешолдом и усиливает по току до соответствующего значения. Далее подтягиваем напругу до опорных 5 вольт и получаем регулятор тока на шим-сигнале. Итог — сверхмалые потребление тока при аналогичном визуале. Ну и меньше матана, так как число диодов равно числу сегментов при любом масштабе.

Сверхмалые потребления тока — это не про гигантский светодиодный индикатор в любом случае.

А для диодов разве норм током яркостью рулить?
Я вроде читал, что у них очень нелинейная зависимость яркости от тока (+довольно узкий диапазон рабочих токов), и им такое не очень полезно.
И еще тут подумалось, что адресные вообще заведутся ли, там же контроллер на каждом диоде.

У обычных — током сам создатель велел.
Нелинейность есть, но не так что бы — ужас-ужас.
А диапазон — нормальный, даже если не рассматривать разгон, примерно 40 — 120% — легко.
С адрусуемыми — теже сомнения.
Кубическая зависимость, или даже где-то ближе к степени 2.4
Это легко решается табличной конвертацией перед выводом по предварительно просчитанным значениям. Там, кстати, ещё ньюанс связанный с ШИМ-мом и особенностями челочеческого зрения — яркость шимированного светодиода для глаза так же вносит свою нелинейность и в целом кажется ярче чем при аналогичном среднем токе, но на малых яркостях — провал.
На малых яркостях малину портит динамический диапазон, контраст становится меньше. на 16 единицах получить качественные полутона сложнее чем на 255. А это яркость ленты всего в 16 раз меньше от максимальной.

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

Считать на лету всегда плохой вариант. Таблица занимает 256 байт. В какой-то из статей нашел методику рассчета коэфициентов чтобы экспонента прошла через две заданные точки.
вид функции Y(x) =Cexp(Bx)
точка начала — x1, y1 конец x2, y2. я задался точками 0,1 и 255,256.
B=log(y1/y2) /(x1-x2) =0.021745794
C=exp(log(y1)-B*x1)=1
осталось прогнать функцию Y(x) для x =0..255 и записать результат в таблицу учитывая смещение результата на 1(диапазон 1...256).

Таблица может быть и больше (больше точек, больше каналов управления с разными лентами).
Насчет расчета на лету — вариант не самый плохой. Мы же не постоянно считаем, а только при изменении значения. Еще, кстати, встречал где-то очень очень упрощенный и приближенный (и быстрый) вариант расчета экспоненты.

Даже умножение выполняется не за один такт. Выбор значения с таблицы всегда быстрее. Светодиоды имеют одну природу, поэтому и компенсирующая кривая общая для всех, одна на все диоды. Когда считать надо немного, может показаться что этого достаточно. Но при попытке масштабировать, вместо 10 светодиодов использовать 100 или с 10Гц 100Гц… внезапно может оказаться что времени не хватает на рассчеты. Даже быстрый способ вычисления логарифма — это тысячи тактов для МК без арифметического сопроцессора. А ещё интересней становится когда МК не умеет аппаратно перемножать даже 8-битные значения.

Да понятно что таблица быстрее. Но я уже писал, что не всегда их можно/оптимально использовать.


Светодиоды имеют одну природу, поэтому и компенсирующая кривая общая для всех, одна на все диоды

Восприятие яркости диодов разных цветов/температуры разное. Мне из-за этого пришлось делать две таблицы на холодную и теплую ленты в одной панели.

Да, яркость нелинейна.
Для WS все давно посчитано, на лету ничего вычислять не требуется:

const unsigned char WSgamma[ 256 ] PROGMEM = {
показать данные
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5,
5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10,
10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16,
17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25,
25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36,
37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50,
51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68,
69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89,
90, 92, 93, 95, 96, 98, 99,101,102,104,105,107,109,110,112,114,
115,117,119,120,122,124,126,127,129,131,133,135,137,138,140,142,
144,146,148,150,152,154,156,158,160,162,164,167,169,171,173,175,
177,180,182,184,186,189,191,193,196,198,200,203,205,208,210,213,
215,218,220,223,225,228,231,233,236,239,241,244,247,249,252,255

};

Использовать как-то так: pgm_read_byte( &WSgamma[ color ] ) для любого из R, G, B.

На самом деле кривые компенсации разные для R, G, B, но отличаются не сильно и вполне можно обойтись одной табличкой.
pgm_read_byte() не то чтобы быстрая функция.
На самом деле кривые компенсации разные для R, G, B
Они еще и для разных производителей светодиодов разные.
pgm_read_byte() не то чтобы быстрая функция
Если у вас хватает другой памяти под таблицу — тогда стоит использовать ее, здесь же максимально экономичный код с точки зрения памяти, издержки на использования чтения из области памяти под код не сильно заметны по сравнению с другими.
Они еще и для разных производителей светодиодов разные.
Да, но эта табличка — «среднее по больнице».
Если работать с конкретным производителем, то да, можно выжать еще 3-5% охвата, но это на глаз заметно практически не будет.
Ну если оператива на вес золота, то да. А флэш будет ужасно расходоваться… а если еще и заинлайнить, то совсем ужас.

Согласен, сам забиваю на это все. Все равно нет приборов чтобы построить правильную характеристику.
Адресные заведутся, если питать их контроллер отдельно… Да, нелинейно, но что мешает использовать логарифмическую шкалу? Более того, линейная шкала в радиоэлектронике как бы вообще редко используется, линейных полупроводников вроде и нет так-то =) Просто нужно подобрать точку зажигания (вангую около 10% номинального тока) и несколько промежуточных точек с требуемой яркостью. Ну и не превышать номинал, лучше до 90%. Для большинства диодов максимум тока лежит в диапазоне 15-20 мА, собсна, в каком-то даташите мне попадалось аккурат 60 мА на одну сборку. Копеечный полевик спокойно без нагрева тянет пару ампер и может питать несколько метров ленты (в не-адресных лентах каждый цвет как раз и рулится своим полевиком, одним на всю линейку цвета).
Да и в целом простая сборка из РГБ-ленты без адресации была бы дешевле даже в обвязке из сдвиговых регистров для ключевых транзисторов в каждом сегменте и трёх диммеров на каждый цвет. Эффект тот же, мороки в разы меньше, цена ниже. Думаю, что это таки более экономный путь.
Как я уже сказал, если цель сделать ЧАСЫ с фишечками, то это не лучший путь. Если цель применить ФИШЕЧКИ для часов — то да, для самообразования и удовлетворения самолюбия очень хорошо получилось. Сам на ёлку звезды со свистелками замудрил. Просто потому что =)
Адресные заведутся, если питать их контроллер отдельно

Я видел только один раз чтобы контроллер был отдельно от диодов на ленте. Обычно все в одном корпусе на одном питании.
Сабж на адресных диодах — ну таки почему бы и нет? Удобно. Прежде всего в плане сборки/управления. Я видел один проект, где 4 (!) индикаторных диода были как раз таки адресные, и до них шло ровно три провода. В плане экономии — ну тут копейки вообще. А если еще посчитать время на разработку/изготовление логики управления, то и вообще неизвестно в какую сторону перевес :)
Если напрягает ШИМ данных диодов, можно взять другие, с более высокой частотой.

Самое главное, что надо знать об адресных диодах, это что логические уровни одинаковые для 5v и 3.3v. А самим светодиодам достаточно ~3.7 — почти все, что выше, идет в нагрев.
Полевики… беру даташит на 14А 30-вольтовый полевик… смотрю ОБР… на 30 вольтах максимальный ток для импульса длительностью 1сек — 200мА!!! 1мс — порядка 2А… Ну, такие они, идеальные полевики.
Какой-нибудь IRLML6244 спокойно держит несколько метров адресной ленты.
Как я и предполагал, у вас он работает только чудом. Согласно даташиту, там большинство характеристик приводится для условий когда длительность импульса меньше 60мкс. Открываем в даташите на него ОБР, при длительности импульса 10мс и рабочем напряжении 5 вольт он держит не более 200мА, а импульс 100мкс и короче держит положенные 10-12А. Он не предназначен для работы на постоянном токе! Поэтому у вас он работает чудом. Потом удивляются почему у них 10А полевики горят… Да и 100А полевик так можно легко спалить.
С каких пор «continuous drain current» стало импульсным режимом?
Не те полевики смотрите. Зачем импульсы? Подойдёт великолепно без перегрева на 5 метров ленты даже обычный биполярник типа КТ819А — до 10 ампер линейного чистогана через коллектор без какой-либо пляски с шим за 10 рублей в самом дорогом чипидипе. А линейную регулировку легко получить потенциометром с логарифмической шкалой (какие и есть почти во всей технике) в базовую обвязку а ля регулятор громкости в УМЗЧ. Цена вопроса 20 рублей в сумме и значительное облегчение кода.
А ещё можно в том же чипидипе взять сдвиговые регистры для часов на семисегментниках, тогда останется только из них слепить цепочку на нужное количество разрядов и подавать тики с генератора (кварц на 32 кГц и у вас получаются самые настоящие часы в классическом виде), но раз уж есть дуина, то можно и с него тикать и рулить цветами.
до 10 ампер линейного чистогана через коллектор без какой-либо пляски с шим за 10 рублей


И в комплекте с радиатором размером в ещё одни часы ;)
Это если жарить все 10 ампер. По факту более 2 эти часы не съедят. К тому же есть корпус — почему бы не засадить транзистор прямо на него? Обычно это задняя стенка из алюминия, да и хватило бы просто пятачка 50 на 50, не те токи и не те режимы же. У меня понижайка с 12 до 5 почти не греется и выдаёт 2 ампера, остальное же падает внутри транзистора. И ничего.
Линейный режим это зло. Мы же типа за экономию.

Спустя год: не зло, а необходимость, некоторые цепи требуют именно линейный источник тока. В моём случае это раскачка гетеродинов и одновременно питание умзч приёмника.

А с чего вдруг получится сверхмалое потребление тока? Яркость приблизительно пропорциональна среднему току через светодиод. Чем мы его достигаем — ШИМом или активным элементом последовательно светодиоду — да пофиг — потери в любом случае равны (Uпитания — Uсветодиода)*I. А напряжение на светодиоде почти не зависит от тока — их даже раньше использовали в качестве этакого стабилитрона.
Единственный способ понизить потребление — индуктивность последовательно светодиоду, ШИМ и схема стабилизации тока. Но это такой геморрой, что это имеет смысл только на каких-то уж очень больших цифрах.

Я себе слабо представляю проектирование и изготовление на коленке оптической системы, дающей равномерную засветку полоски в десяток-другой сантиметров длиной от одного диода. А с адресной лентой — запросто и с минимальным геморроем и числом проводов. Да, overkill, ну так почти вся современная разработка overkill ещё больший.

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

UFO just landed and posted this here

Arduino? Зачем?
Для часов прямо просится ESP32 (ну, или ESP8266): подключение к сети через Wi-Fi даст возможность использовать NTP для синхронизации времени, и Web — для настроек (например, яркости, цвета, будильников, Wi-Fi, NTP, часового пояса и т д.).

Если использовать годный модуль RTC — в синхронизации времени через WiFi нет особой необходимости, да и не всегда она возможна. А так, для часов и attiny достаточно. И цена микроконтроллера значительно меньше цены индикатора в любом случае.

в синхронизации времени через WiFi нет особой необходимости

Вопрос ведь в количестве кода и возни. ESP8266 — это 1 модуль с WiFi и программными часами (ничего не надо паять), NTP-синхронизация есть готовая (ничего не надо писать).


В проекте автора надо припаивать два модуля (RTC и Bluetooth), писать много кода (поддержка RTC, поддержка BT, спаривание и приём команд по BT, обновление RTC по команде), и писать ещё внешнюю программу для отправки времени по Bluetooth. В финальном продукте остаётся батарейка, которая однажды откажет или потечёт.


… да и не всегда она возможна

Часы не будут работать, если их выключить-включить и нет интернета? YAGNI.
Если это так важно — включите локальный NTP-сервер на точке доступа. Туда же и RTC на батарейке, если хочется ещё максимальной надёжности

UFO just landed and posted this here
Не забыть про правильное питание, не забыть переписать программу из ардуиновского суперцикла на deep sleep с прерываниями…
Придется выпаять, стабилизатор будет мешать экономии энергии.
А что тогда от ардуины останется?
Будто она только из стабилизатора и состоит.
Еще из прошивки, которую вы предлагаете свою.
Если делать из ардуины RTC, придется немного напрячься. Конечно, проще взять готовый модуль с батарейкой.
Проще с нуля собрать из рассыпухи и прошить программатором, чем ардуину перекраивать, кмк.
Да и не нужна там Ардуина, обычная ATTINY + RTC справятся легко.
Тинька, если все правильно сделать, в покое будет жрать 7-10 мкА.
Это конский ток по меркам микропотребления… Вроде, для тинек доступны токи порядка 0.5мкА в глубоком сне. Нужен внешний будильник.

Внешний будильник можно сделать от того же RTC если уж очень хочется. Будет потребление только одного RTC там да, сотые дали микроампер. Другое дело — надо ли так заморачиваться?

Особенно при том, что дисплей из сабжа потребляет на почти 6 порядков больше.
С WS2812 будут проблемы при 8МГц тактировании ядра.

Можно. Только зачем?))
Проект изначально замышлялся как ("взял и собрал"), без сильных заморочек.
При нормальном питании (в цепь RTC впаивается конденсатор, а также желательно в цепи ленты и ардуины), всё ок. Без конденсаторов за пару лет часы начали "врать" секунд на 30. С модулем bluetooth время выставляется за несколько секунд с точностью до секунды — ну и всё))
Потребление тока для меня значения не имеет, так как часы питаются от БП (всегда включены в розетку), висят в офисе на работе.
Ну и в конце концов, это просто часы (не система умного дома/теплицы/чего-то ещё), так что усложнять смысла не вижу — зато повторить может каждый, собрав минимальное количество "железок" без особых танцев с бубном

UFO just landed and posted this here

По спецификациям возможно и оверкил, а вот по цене модули на esp* стоят сравнимо с модулями на ардуино, а возможностей значительно больше.

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

Вот неплохая реализация на таких же компонентах, с полной инструкцией, файлами для печати и исходниками прошивки:


Автор, не поймите меня неправильно, это классно, что вы реализовали проект и захотели им поделиться, но эта часть издевательски коротка и лишена полезной информации, нет даже тизера конечного результата! Неужели нельзя было немного больше контента подготовить для первой статьи?

Я тоже хотел сделать часы на адресуемых диодах, только в виде матрицы 32x8. Остановился примерно на том же этапе, на котором оборвалась статья :)
Для творческого человека, уже перечень элементов уже даст волю фантазии… и к следущей статье, в экспериментах уже будут созданы свои часы… статья будет контрольным ответом насколько хорошо справились с задачей.

Планировал одной обойтись, но к концу этой понял, что слишком много информации хочется вложить.
Всё распишу, ок)

Я использовал BH1750 по двум причинам:
1. Он аналоговый, то есть позволяет передавать числовое значение освещённости (в отличие от цифровых, которые имеют только значение порога «светло/темно»).


Не совсем понял по этому пункту.
Подключается он по I2C, значения передает в люксах
Уже подправил с статье (меня поправили).
Есть цифровые, которые выдают пороговое значение. Этот даёт возможность плавного управления яркостью ленты
ценники в пятерочке можно делать?
Если разориться на матрицу — пожалуйста
Не подходит он для ценников. Опыт эксплуатации показал, что они недолговечны, особенно возле холодильников.
В принципе собрать было не сложно, но мне кажется что датчик температуры в этом устройстве лишний, и в зависимости от место расположения будет показывать разный градус. Например если повесить над батареей, то показатели будут не верны. Тут еще важно в принципе расположение относительно пола, потому что ближе к потолку воздух теплее, нежели внизу.
Дело хозяйское. У меня висят под потолком, мне нравится с температурой))
Автор, очень интересный пост! Люблю, когда нормально объясняется, как сделать на первый взгляд сложные вещи. Пойду пробовать, спасибо) Если получится — результат покажу
Многовато 3d печати в этом проекте, полки можно было и самому сделать, а так круто!
Вторая статья будет сегодня-завтра. 3D печати нет совсем))
Обожаю адресную ленту, из нее столько всего можно сделать)
Они может и крутые, но проще аналогичные заказать на алике, и не убивать несколько часов своего времени.
Покажите, где такие можно купить за эту цену?))
Sign up to leave a comment.

Articles