![]() |
![]() |
|||||||||||||||
Гирлянда на RGB светодиодах
Автор: Виталий, Falk-Dema@ya.ru Предлагаю вариант новогодней светодиодной гирлянды. Технические характеристики: Число элементов 30 шт. Длинна 4,5 м Число цветов 7 Напряжение питания 5 В Ток потребления 400 mA Число программ 53 Число эффектов 21 Описание Гирлянда состоит из 30 элементов. Каждый элемент состоит из RGB светодиода и сдвигового регистра. Формирование кадра осуществляется по интерфейсу SPI, включение и выключение всех светодиодов выполняется с использование ШИМ модуляции, что позволяет получать эффект плавного включения/выключения всей гирлянды. Индивидуального плавного включения/выключения для каждого элемента не предусмотрено. Контроллер гирлянды выполнен на PIC16F876A (PIC16F876 тоже подойдет). Элемент собран на одностороннем текстолите, с применением SMD деталей, что позволяет разместить управляющею схему на плате размерами 10х20 мм. В качестве светорассеивателя применяется обточенный коннектор RJ-45. Светорассеиватель приклеивается клеем, например COSMOFEN СА-12. Описание работы гирлянды Выбор программы, число повторов, время выполнение программы, цвет применяемый в текущей программе выбирается случайно. Генератор случайных чисел использует младший бит (самый шумный) аналогового входа, висящего в воздухе. Полученный бит сдвигается влево и так выполняем 8 раз, пока не получаем случайный байт. Световые программы состоят из эффектов. Например есть эффект "бегущий огонек". На его основе есть 3 программы – бегают два, три или четыре огонька. При этом цвет, скорость и повтор случайный. Таким образом имеется 21 эффект и на их основе 53 программы. Некоторые особенно «красивые» программы повторяются. Память PIC контроллера заполнена на 40%, в наличие две свободных страницы памяти (из четырех). Соответственно имеется простор для программирования. SPI используется не аппаратный, а программный (так исторически сложилось). Соответственно выходы контроллера для формирования данных выбраны произвольно и не соответствуют аппаратному модулю MSSP. ШИМ используется штатный (аппаратный). Число элементов (если захочется собрать гирлянду отличную от 30 шт) в программе меняется, но только руками по всему коду. При написании программы не было задачи оперативно менять длину гирлянду, поэтому многие важные переменны не рассчитываются от переменной - NUM «длинна гирлянды» а заданны фиксировано. Хотя исходники программы снабжены комментариями и формулами как появилась та или иная переменная, так что возможно все. Подводные камни при сборке При покупке необходимо обратить на цоколевку светодиода - расположение цветов по ножкам бывает разным. Светодиоды нужны с общим катодом и никакими другими (обоснованно работой сдвигового регистра 74HC164). Красный цвет оптически менее яркий, хотя потребляет больший ток. Добавочный резистор на красном меньше в 2,5 раза. Так как линия SCLK SPI интерфейса идет от контроллера и все элементы висят на ней параллельно, то на длине около 2,5 метров идет искажение сигнала на конце гирлянды из за переотражения сигнала. В результате последующие элементы некорректно отображают цвет. Поэтому на последнем элементе ставится терминальный резистор около 200 Ом, который согласовывает линию связи SCLK. Он ставится между SCLK и «+». Один из выводов резистора ставится на площадку от танталового конденсатора, соответственно на терминальном элементе тантал не ставится. Линия DATA идет последовательно от элемента к элементу, поэтому сигнал по все длинне имеет правильную форму. Танталовые конденсаторы ставить на каждом элементе не нужно, вполне хватит пяти штук по всей гирлянде на равных расстояниях. Эскиз показывает как собирать элементы в гирлянду, к какой точке паяется какой провод шлейфа. Собранная гирлянда закрепляется термоусадкой. Вкус и цвет выбирается пользователем. Фольга на фотографиях с обратной стороны не нужна, ее наличие объясняется отсутствием в продаже тонкого одностороннего текстолита.
Элементы: Корпус для сборки – 20-33. Размер SMD – 0805 Тантал - корпус тип А RGB диод – с общим катодом, матовые (можно просто ошкуренные) Ссылка на видио работы:
Файлы: Все вопросы в Форум.
|
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |