Продолжая тему «Подстраиваемого светодиода» и преследуя цель опробовать в деле умную светодиодную ленту на базе WS2812B (NeoPixels) родилось новое устройство — Adjusty strip — продвинутый индикатор уровня!
Ленту на пробу мне предоставил магазин DiyLab.com.ua Если Вам понравится устройство и Вы захотите его повторить, то ленту в Украине можно приобрести в этом-же магазине — ссылка на ленты. Для России ее можно приобрести еще у одного моего партнера TIXER.RU (обещались в ближайшее время пополнить ассортимент).
Переходим к конструкции.
Схема элементарна – на несколько деталек и ATtyni13. Надеюсь, знаете, как записать в МК прошивку? Нет? Тогда Вам сюда.
Длина ленты по умолчанию — 30 пикселей. Количество пикселей отображения можно изменить, указав в исходнике значение константы «Number_Pixels» равное реальному количеству пикселей (эффекты автоматически пересчитаются под новое значение).
Несмотря на простую схему, индикатор уровня получился интересный! С большим выбором вариантов отображения линейки. В устройстве задействована специальная палитра, стилизованная под пламя. Соответственно, каждому значению уровня будет соответствовать свой цвет из палитры:
Устройство
– визуально отображает на ленте уровень входного сигнала. Это, своего рода, большой светодиодный столбик.
Индикатор умеет работать в 9-ти режимах отображения входного уровня. Для перебора режимов нужно нажимать на кнопку «Режим». Выбранный режим запоминается в энергонезависимую память и при повторном старте устройства будет автоматически активирован.
Режимы:
0 – Off – лента выключена
1 – Simple – обычная одноцветная полоса
2 – Bar – линейка от синего к белому по палитре
3 – Inv_Bar – линейка от белого к синему по палитре
4 – Color – вся линейка подсвечивается одним цветом в зависимости от длины
5 – Point – цветная точка, отображающая уровень
6 – Solid_Color – все пиксели горят цветом, зависящим от величины уровня
7 – Fire – стилизованный огонь — чем больше уровень, тем больше пламя
8 – Chaos – хаотичные засветки пикселей (изменяются от уровня)
9 – Scroll – сдвиг уровня по полосе
Устройство, кроме того, что отображает уровень входного сигнала, еще может работать в автоматическом режиме. Для этого нужно замкнуть на землю переключатель «Демо». В Демо-режиме уровень устройства меняется случайным образом автоматически.
Так как устройство элементарно, для демонстрации его возможностей я собрал его на макетке, за пару минут:
И вот что получилось:
Материалы для сборки устройства:
120-Adjusty_WS2812B.zip (5226 Загрузок)
Область применения индикатора уровня Adjusty strip:
— Первое, что приходит на ум – визуализация музыки.
— Еще, думаю здорово будет смотреться, если им подсвечивать тахометр в машине (в зависимости от оборотов подсветка будет менять цвет).
— Дальше – подсветка ручек регуляторов уровня.
— Еще создание оригинальных светильников для автономной работы в демо-режиме (режим огня смотрится очень эффектно даже сам по себе).
— Визуализация температуры (например, можно задействовать дешевый аналоговый градусник LM35) …
Обновление 2016
viktor001 проделал большую работу по подключению звука к устройству. Получилось здорово. Прошивка тоже немного изменена — смотрите в архиве.
Схема к индикатору получилась до безобразия простой и собственно соответствует поставленной задаче — простата, легкодоступные компоненты и 100 процентная повторяемость. При правильной сборке работает сразу. Вся настройка сводится к выставлению уровней компрессии и выхода микрофонного усилителя. Главное и единственное требование — не выставлять усиление по максимуму. Наличие компрессора не является таблеткой от всех болезней и при работе от микрофона всё же имеет свои границы регулирования. Можно конечно «зажать» сигнал регулятором компрессии, но тогда страдает подвижность индикации. Лучшим средством является предусмотренный регулятор усиления Ку на первом операционнике фильтра нч. При работе от линейного входа, компрессор замечательно справляется без дополнительных регулировок.С питанием схемы всё ещё проще. Выбор блока питания исходил от требования ленты WS2812B, точнее от потребления тока, плюс небольшой запас. 10 вольт получаем через DC/DC преобразователь.
Кстати, что бы первые пиксели не светились в паузе между треками, на вход МК надо повесить резистор на 100к относительно массы. Я когда рисовал схему упустил этот момент.
В архиве есть печатки усилителей. Расположение деталей микрофонного усилителя я не стал указывать. Поэтому прилагаю плату МУ как отдельный блок. На ней всё указано. Обратите внимание на перемычки.
Друг доброе утро Большое спасибо за ответ. Мне нужно сделать программу с attiny13 для работы с неоптикелом ws2812b. Мне нужно, чтобы у вас было 2 кнопки, когда при нажатии кнопки 1 ws2812 загорается красным цветом, и когда вы нажимаете кнопку 2, Осветите оранжевый цвет, и когда вы не нажмете какую-либо белую одежду, вы можете помочь мне с этим, спасибо, что вы можете отправить мне письмо. Julroj07@gmail.com
Привет!
Если есть вопросы по ws2812, то готов помочь.
Друг, доброе утро, меня зовут Хулио Рохас из Богота, Колумбия. Мне очень нравится проект неопиксельных огней, ws2812, и я пытаюсь сделать его очень похожим, но я не эксперт в области микроконтроллеров. Я хотел бы попросить вас о поддержке, если вы можете помочь мне сделать это с некоторыми дополнительными вещами. Благодарю вас Это мой адрес электронной почты: Julroj07@gmail.com
Антоха, у Вас в конфигурации CKDIV8 помечена галочкой. По моему её надо убрать.
Даже не знаю что еще может быть… Я склоняюсь к неправильно установленным фьюзам. Если они правильны, тогда может саму ленту проверить на заведомо рабочем устройстве?
загружаю код viktor001 хоть с конфигурационным словом по умолчанию, хоть с вашими настройками, как на картинке fuses.png не работает. В первом случае вся лента белым загорается, а это означает, что код белого цвета передаётся, во втором случае ничего не происходит вообще. http://images.vfl.ru/ii/1502221466/d2a4bf91/18185038.jpg
может подскажите. Программатор ChipProg LPT. Для Attiny13A есть три режима программирования «Attiny13A», «Attiny13A ISP HV Mode» и «Attiny13A ISP Mode». Какой режим выбирать?
Вообщем, фьюзы выставил такие же в архиве 120-Adjusty_WS2812B в файле fuses.png, а прошивку брал из архива vu_meter_by_viktor001.zip Может ли из-за этого не работать. Просто теперь ничего не происходит. Если раньше, хоть код белого цвета передавался, то теперь ничего вообще не происходит.
Спасибо за ответ. Фьюзы, вообще, не выставлял. Прошивал программатором ChipProg LPT. Раньше, другие самоделки когда делал, прошивал Attiny13 без проблем. Когда отсоединяю провод с 5-ой ноги микроконтроллера перед подачей питания, то белыйм светодиоды не загораются. Значит код белого цвета передаётся. Попробую другие прошивки.
Привет!
Нет, прошивка нормальная — ее много раз опробовали — так что причина не в этом.
Фьюзы правильно выставили?
На форуме есть модификации этого устройства — посмотрите еще там
http://www.forum.getchip.net/search.php?keywords=Mod%23120&terms=all&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
Приветствую. Собрал по упрощённой схеме, без музыкального входа. Хотел проверить только демо-режим. http://images.vfl.ru/ii/1501528114/615caeb6/18093464.jpg
Заливал прошивку main.hex из архива
120-Adjusty_WS2812B.zip. При подаче питания загораются белым цветом все светодиоды в ленте и никак не реагируют на переключение кнопки «демо». Может ли прошивка быть битой?
EvgenZP, а на 40 пикселей на всех режимах стабильно работает? У меня на некоторых режимах возникало «дублирование». Вот на этом видео всё видно https://www.youtube.com/watch?v=UExhbD8HBdo
В этой теме GetChiper помогал мне побороть эту проблемку http://www.forum.getchip.net/viewtopic.php?f=24&t=712&hilit=Mod%23120&start=30
И не могли бы Вы выложить Ваш вариант прошивки, ну хотя бы в туже тему.
Если интересно то к этому индикатору есть прошивка для управления пультом. Всё руки не доходят выложить на форум схему с описанием.
Во всех режимах плохо?
Нужно смотреть. Подозреваю буфер неправильно работает.
Или с АЦП значение неправильно конвертируется…
Добрый день.
Вчера перевел исходник на Attiny85, но эффекта это не дало.
Так же устойчивая работа до 42 пикселей и не переключаются режимы.
Хотя в демо режиме все 60 пикселей работают.
Добрый день.
Да, в некоторых эффектах используется буфер в озу и он небольшой.
Но проблемы могут быть только с некоторыми сложными эффектами — простые должны работать нормально.
Хотя на большом количестве пикселей я не проверял устройство.
Добрый вечер. Собрал по схеме Viktor001 и с его прошивкой. Хорошо работает при количестве пикселей=30. При других значениях идет мерцание и на звук не реагирует. Пересмотрев исходник нашел несколько мест, где указанно число 30 и 29. Заменил их на Number_pixels и Number_pixels-1.
После этого индикатор устойчиво работает до 42 пикселей, а дальше опять мерцание. Может ли сказываться нехватка ОЗУ контроллера Attiny13? Переход на Attiny45/85 сможет спасти ситуацию?
The microphone module should work (AO output).
The device was assembled many times — there were no problems.
Try several modifications of this device.
http://www.forum.getchip.net/search.php?keywords=Mod%23120&terms=all&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&sid=7e2e7e60c2219021e5f5830439df8658&submit=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
не работает, все время светодиод горит в белом.
can be replaced » микрофонн усилител» with this device http://www.ebay.com/itm/Microphone-Sensor-AVR-PIC-High-Sensitivity-Sound-Detection-Module-For-Arduino-/201414878181?hash=item2ee54323e5:g:bY0AAOSwstxVCOyE ?
Слишком много менять придется.
Не хочется делать одно и тоже устройство дважды…
Уважаемый автор, а возможно адаптировать программу под Мегу 8? Тинек к сожалению нет в наличии(((
main.hex
.hex
EE_.hex
EE_main.hex
main.hex
which file upload to Attiny13?
Попробуйте.
Если не заработает я сделаю модификацию.
Добрый вечер.
а можно использовать ленту WS2811?
Valeriy
Я использую обычные капсульные. Если есть от сотового то лучше его использовать. Вместо LM358 лучше TL072, но если нету то не принципиально. При наличии осцилографа настраивается очень просто. Регулятором громкости выставляем максимум по амплитуде. Потом регулятором компрессии немного зажимаем амплитуду и пробуем менять громкость. Регулировка считается идеальной когда при любой громкости имеем устойчевый неискажонный сигнал на выходе МУ. Собственно на этом и всё, дальнейших настроек в моём случае не потребовалось. На всякий случай в схеме фильтра предусмотрен выносной потенцинометр для усиления/ослабления сигнала. Когда всё настроите и проверите, установите МК в плату и подключите пиксельную ленту. Уровень отображения сигнала на ленте выберите примерно в третьей части ленты (примерно 20 пиксель). Если уровень слишком большой или маленький то надо подкоректировать усиление. Если на подвижном треке нет динамики то компрессор слишком зажат. Я собирал и разбирал эту схему трижды и никаких проблемм не было, работала сразу. В схеме предусмотрен вход от линейного выхода ПК. Указан как LINE. На плате не предусмотрено подключение линейного входа. Поэтому надо добавить резистор и конденсатор. Возможно резистор придётся подбирать, зависит от вашей звуковой карты.
viktor001
.Какой тип микрофона применен в схеме. Как правильно настроить М У на LM358 и как его проверить.Если подключить к компьютеру вход LINE — что в схеме убрать
Евгений огромное спасибо за то что откликнулись на мою просьбу.По времени я не тороплюсь и вас торопить не стану.Могу ждать столько сколько потребуется.
Это возможно сделать. Но заняться этим я смогу не раньше чем через неделю — вторую.
Здравствуйте все!!Собрал данную схему все работает с первого раза восторг прямо скажу неописуемый!
Есть вопрос по модификации прошивки
Реально сделать так чтоб при подаче единички на вход выбранный эффект повторялся два раза и потом вся лента загоралась белым.,а второй кнопкой которая Demo регулировалась скорость эффекта.Хочу применить такое на машине в ангельских глазках
Длинна ленты 30 пикселей
Ещё один совет. СМД микросхемы впаивать в последнюю очередь и строго соблюдая температурный режим.
Пробуй! Должно заработать сразу и без бубнов. Настраивать схему всё же советую сначало без МК. Транзисторный ключ питается от 10 вольт, мало ли что.
Уважаемый Viktor 001.Спасибо за детальный ответ.Буду пробовать,что-то застрял.
Очень хочу повторить.
Да, действительно пропустил пару деталей. Номиналы на плате можно легко сравнить с схемой. Транзистор брал по маркировке, в сПлане не было ВС547. Давайте по порядку. Плату рисовал под то, что было под рукой. Поэтому получилась смесь SMD и DIP. Транзисторы ВС547. Но в смд нет 547-ых, поэтому ставил аналогв смд корпусе, помоему ВС847. Резисторы — тот, что внизу с лева (между +10 и колектор) -3к. Между массой и эмитером второго транзистора — 1к. Возле МК есть смд площадка, вход мк 3 нога -100к на массу.
Теперь два резистора возле ТЛ-ки (указаны как 10к). Тот что между 1 и 2 ногами — это подстроечный на 4.7к. А тот, что с ноги 2 через конденсатор на массу — 1.8к. Конденсатор соответственно 2.2мкф — можно и 100нано. Ещё выше кондесатор фильтра, тоже 100нано. Смд площадки по питанию, для конденсаторов — 100нано. Вроде всё.
Доброго дня всем.Фильтр НЧ-какие номиналы резисторов должны стоять на плате.
Транзисторы на плате BC560- на схеме BC547.Что еще изменить/дополнить на
плате. Спасибо за ответ.
20 пикселей я вот этому моду делал — там немного подправлены ошибки
http://www.forum.getchip.net/viewtopic.php?f=24&t=689
https://www.youtube.com/watch?v=_5I-_yAspNQ&feature=youtu.be
Mod#120 автосмена режима+автоуровень,стр4.
@Valeriy
А это про какое видео где, скажите пожалуйста? Я заблудился 🙂
Спасибо за прошивку.Работает,кнопка Демо разомкнута,идет выбор программ.Нет режима Point.Кнопка Демо замкнута,нет сигнала,но горят первый и второй светодиоды, третий- в полнакала.На музыку реагирует,но лента полностью не гаснет.Как это устранить.Спасибо. Да,последнее видео от virtor001-класс!!!
Готово
http://www.forum.getchip.net/viewtopic.php?f=24&t=712
ОК. на выходных сделаю.
Да,из этой статьи
Исходник из этой статьи или модификация с форума?
Здравствуйте Евгений.Очень прошу сделать модификацию прошивки
Aljusty WS2812B..source base.zip(22,12kb) под 20 пикселей WS2812B.
Исходники я править не умею.Спасибо за ответ.
Попробуйте модификации — устройство еще дорабатывается
http://www.forum.getchip.net/viewtopic.php?f=24&t=690
http://www.forum.getchip.net/viewtopic.php?f=24&t=689
http://www.forum.getchip.net/viewtopic.php?f=7&t=676
Здравствуйте,Евгений.Прошивка Adjusty ws2812b source auto effectprobe 006.rar(20.75кБ).Переключатель ДЕМО замкнут,кнопка делает перебор режимов.
При удержании идет автосмена режимов.Переключатель разомкнут-начинает мигать по разному,не понятно.Подаю на вход сигнал с динамика 10вт-никакой реакции на музыку.
В чем причина? Подскажите.Спасибо за ответ
Отлично! Я давно заметил некоторые возможные баги и исправил их, но никак руки не доходили обкатать в устройстве прошивку.
Давайте Вы попробуете и отпишитесь что-как — вместе отладим прошивку.
Файлы на обкатку здесь: http://www.forum.getchip.net/viewtopic.php?f=7&t=676
Отзывы нужно кидать в тему на форуме. Как все обкатается я заменю файлы в статье
Добрый день! Спасибо за разработку! Начал эксперементировать и сталкнулся с такой проблемой, эффекты хорошо работают только на 30 пикселях, подключал кольцо с 24 пикселями W2812 светодиоды как хотят так и мигают на кнопку почти не реагируют, подключал ленту на 300 пикселей , такая же история светодиоды могут гореть в конце или в начале ленты хаотично. В программе константу менял на соответствующее число пикселей но работает корректно только на 30. В чем может быть проблема?
Да, выводы кнопок можно параллелить. Разницы в ATtiny13А нет, можно использовать.
Тоесть выводы РВ1 и РВ2 можно запаралелить с другим МК и вешать на соотвествующую кнопку? Разницы нет если использовать ATTINY13А? В продаже только с буквой А