RGB лента 5 метров,12 Вольт
- Войдите на сайт для отправки комментариев
Сб, 29/12/2018 - 12:27
Не удержался и раскурочил коробку, думая не сильно ли греются транзисторы. Немного удивлён увиденному. Хочу заменить пульт (глючный он какой то) на приложение в смартфоне, а штатный микроконтроллер на УНО и блютуз модуль, оставив ключи и стабилизатор на 5 Вольт (с ним облом - стабилитрон и резистор вместо него на плате). Не ясно (нет схемы) куда подпаиваться к каналам ? Что за чёрный ящик справа?
Наверное что-то типа этого:
U1 = MCU
U2 = EEPROM
Q1..Q3 = BL2300 or SI2300
Ага, вроде ясно. Но резисторов к транзисторам нет, они лишние? :) - режем дорожки около Q1-Q3 и к Ардуино, туда же GND и 12 В к Vin.
Экономия на спичках. Быстрее сгорит - быстрее новую прикупишь.
Сдается мне, что проще и надежней на зеленой макетке накидать то же самое.
Экономия на спичках. Быстрее сгорит - быстрее новую прикупишь.
Сдается мне, что проще и надежней на зеленой макетке накидать то же самое.
Да коробочка вообще пустая, туда можно напихать тройку резисторов, разъём. Цель сделать "врезку", побаловаться и вернуть всё в исходное состояние. Делать скетч и приложение можно и на одном RGB светодиоде, как я понял, а лента для окончательного удовольствия.
Для спортивного интереса и на случай НГ удачная идея. После празников унку на стол для новых проэктов, а коробочку на чердак до следуюего НГ ;) Ну... если уж совсем понравится тогда скетч залить в Нано и сделать законченный продукт!
Забавно, не могу понять почему если яркость ставить 255 переключение красного цвета исчезает, скетч правильно не работает. При 254 всё как задумано.
все просто
байт не может хранить больше 255, а увас по условию переменная i может ровняться 256 (i++) т.е. она обнуляется из-за переполнения. или ставьте 254 или выкиньте из условия i<=Mx заменив на i<Mx - тогда достигнув 254, переменная инкременируется и станет 255 и исполнит условие последний раз.
пару раз ловил глюк компилятора, как попадались непонятки - перезапусказ ИДЭ сохранив скетч, потом открывал и все работало как задумано.
Спасибо, теперь ясно, исправил.
все просто
байт не может хранить больше 255, а увас по условию переменная i может ровняться 256 (i++) т.е. она обнуляется из-за переполнения. или ставьте 254 или выкиньте из условия i<=Mx заменив на i<Mx - тогда достигнув 254, переменная инкременируется и станет 255 и исполнит условие последний раз.
К этому можно добавить, что цикл for (byte i=0; i<=255; i++) будет выполняться бесконечно.
К этому можно добавить, что цикл for (byte i=0; i<=255; i++) будет выполняться бесконечно.
не совсем и невсегда, тут на откуп компилятору... т.к. последним и решающим является условие сравнения i=255, после которого программа может выйти из цикла по флагу или еще раз выполнить сравнение, встречал такой глюк, но его, вроде бы, уже давно пофиксили как избыточный...
вот именно для того-чтобы не проверять условие "лишний" раз пишут i<=254, а если без " = " (i<255) условие проверяется, но не выполняется!!! А это лишнее время на выполнение программы, что "замедляет" выполнение кода - но это сильно зависит от компилятора, в основном они "умные" теперь и сами исправляют на двойное условие.
Да, именно и запустилось в бесконечный цикл переключение зелёный-синий. Просто мне думалось, что условие от 0 до 255 включительно или от 0 до 255 (без крайнего) выполняется жёстко и ни при каких условиях i не выйдет за него.
Цикл for (byte i=0; i<=255; i++) будет выполняться бесконечно,
потому что переменная byte i всегда находится в диапазоне от 0 до 255.
Пока новогодняя фантазия кончилась, надо отсмотреть в сумерках.
уже второй год встречаю с WS2813 5м 60 IP67 - купил потестить, залил какой-то тестовый скетч из библиотеки и понял - иного и не нужно :)))) заметно,конечно, такую полосу на елке да и светит в одну сторону, но всех моих устраивает.
Я свою гирлянду в гусеницу замотал (ну, такие веревки пушистые на елку и шею вешают) - провода не так заметны, отблескивает поинтересней, рассеивает дополнительно. Мои 2801 не греются, ваши - не знаю. Может и опасно в пластик мотать.
Я свою гирлянду в гусеницу замотал (ну, такие веревки пушистые на елку и шею вешают) - провода не так заметны, отблескивает поинтересней, рассеивает дополнительно. Мои 2801 не греются, ваши - не знаю. Может и опасно в пластик мотать.
Интересно, а в коробе пластиковом для электропроводки свет будет проходить наружу?
Будет что-то выходить, но наврядли это конструктивное решение будет на ёлке смотреться.
ws2813 18Вт/1м при 5В, кормлю 4,5В им хватает, особого нагрева не ощущаю - режим динамический и средняя мощьность не более 9Вт/1м. Так что если не увлекаться и не мотать очень плотно, создавая "шубу" проблем не должно быть. Полагаю, что это справедливо для всех RGB.
Я себе метр RGBW 144 IP67, вроде 6813, взял поиграться. Вчера вспомнил, просто вдоль ствола прицепил и тестовый скетч из неопиксел библиотеки. Всем понравилось, мощность 50%, холодная, яркости хватает даже при свете.
Где, почем?
Где, почем?
На Алишке, недешево. Бралась, на посмотреть, единственное достоинство, для белого надо 20мА. В боевой девайс заказал обычную 2812.
Чудеса новогодние, всё работает из приложения как и задумано, но при n меньше 130 мс (в данной версии 120). Стоит взять и изменить исходное значение в 130 и лента стопорится после включения - на синем цвете. В чём секрет?
Чудеса новогодние, всё работает из приложения как и задумано, но при n меньше 130 мс (в данной версии 120). Стоит взять и изменить исходное значение в 130 и лента стопорится после включения - на синем цвете. В чём секрет?
разбирайтесь со строкой 113 (вся функция), там явно зацикливание при переходе из стргоки 33. так и не понял чего вы там навертели, но попытатесь убить goto
Избавился от goto, но магия перехода из 120 на 130 для n осталась. При 130 лента никак не переключается.
Фантастика!, пишу вместо delay_(n*255/Mx); - delay_(n); когда встречается в скетче первый раз и лента переключается хоть при 130, хоть при 160 при прочих "делай". Возвращаю обратно значение аргумента и стопор на синем! Ну как так???
Попробуйте написать delay_(int(n)*255/Mx)
Попробовал, не помогает. Вставил после первого включения синего delay_(n); и заработало :) даже на 160. Вообщем неясно в чём фишка. Функция не может принимать аргумент в виде формулы при больших значениях? (пока не привыкнет :)