Светодиодная звезда на ёлку к которой я руки приложил.

Опубликовал | 22.12.2017

Наступила та самая пора, конец года снег праздники и хорошее настроение )) А какой (новогодний/рождественский) праздник без ёлки? А какая ёлка без украшения? Именно об украшательстве пойдёт речь, а точнее о финальном штрихе, так сказать о вишенке на торте точнее о звёздочке на ёлке. В общем милости просим под CUT.

Собственно была заказана у узкоглазых звёздочка для ёлки. В лоте есть выбор размеров всё как в советские времена: изделие №1 №2 №3 я заказал №2. Размер от кончика до кончика звезды 18см.
Звезда выполнена из прозрачного ломкого пластика, на поверхности много граней для преломления света.Собственно всё просто: две одинаковые половинки, сердцевина с электроникой, ножка-крепление для верхушки и переключатель.Так это выглядит во включенном состоянии.

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

1)Я не буду применять arduino или ESP.
2)Мне не нужны всякие ИК-приёмники, WIFI или Bluetooth, я не собираюсь сидеть под ёлкой и переключать цвета, это задача ПО.
3)Устройство будет выполнено на одной плате, а не из говна и палок разных модулей проводов и термоклея.
4)Я буду использовать PIC18F46J50 и сам напишу весь код на mikroC.
В общем такой олдскульный подход )))

Первым делом измеряем звезду и создаём плату в Altium.

Дальнейшее развитие событий тут
После примерки бумажной версии платы можно начинать создавать реальную плату из фольгированного текстолита. Достаём из заначки кусок и вырезаем заготовку под размеры.Будет применяться плёночный фоторезист и для успешной «накатки» необходимо очистить загрязнённую поверхность.(признаком загрязнений является скатывающаяся с платы вода)Берём губку для посуды и чистим абразивной частью, дополнительно можно применить средство с кислотой (например средство для чистки унитазов).Главное добиться результата, а способ которым он был получен нам не сильно важен.Успехом считается поверхность которая смачивается водой.(на фото не видно, но на всей плате сидит водная плёнка и вода не охотно покидает заготовку.)Теперь можно приступить к подгонке заранее заготовленных фотошаблонов.(Печатаются на прозрачной плёнке, для увеличения плотности можно применять пары растворителей и двойной слой шаблонов)«Накатываем» фоторезист, есть много разных способов. Я смачиваю заготовку, кладу заготовленный кусочек плёнки, выравниваю и выгоняю воду силиконовым шпателем.Далее кладу заготовку между двух листов бумаги и отправляю в ламинатор. (хочу отметить что есть множество способов выполнения данной процедуры) Устанавливаем лист между шаблонов убедившись в правильности размещения.Пришло время экспозиции.Спустя определённое время (индивидуально для каждого типа фоторезиста ламп и расстояний) вроде не наблюдаем результат, но если присмотреться есть изменения.Осталось аккуратно как археолог кисточкой эти изменения проявить в растворе слабой щёлочи (кальцинированной содой).После отмывки получаем маску, открытые участки меди будут удалены на следующем этапе «травлении» поэтому надо внимательно просмотреть маску и убрать «косяки» После травления получаем почти готовую плату.Далее применяем растворитель или сильную щёлочь (средство для чистки засоров) для удаления фоторезиста. Внимание при работе со щёлочью применяйте очки и перчатки для избежания химических ожогов и перманентного повреждения зрения. Теперь потихоньку видно результат от затраченного времени.Отрезаем всё лишнее, и примеряем плату на будущее место.Сверлим отверстия.Далее я решил залудить плату (припой конечно не хром, но металлический блеск мне пригодится)После лужения и очистки платы, производим сборку.Далее подсоединим БП(С ним был косяк, китайцы задрали напряжение до 5,4 пришлось немного его занизить поменяв номиналы задающих резисторов на TL431)

После всех мучений бинго.

Теперь осталось написать программу.
Требования простые много эффектов и рандомность их выбора. Для управления светодиодами я применял SPI подробнее под спойлером.

Кратко о программировании
Если заглянуть в описание, то для управления ws2812B применяются сигналы равного периода, но разной продолжительности уровня логической единицы «1» и нуля «0», стоить отметить что сигналы управления довольно быстрые с допусками в 150нс.Однако есть одна фишка,ws2812b не сильно требовательный к соблюдению этих допусков и критичным является только длительность высокого уровня, низкий уровень может серьёзно отклоняться от заданных требований.Это позволяет применять SPI для отправки данных.Если установить правильную частоту SPI, то можно отправлять одним байтом два сигнальных бита, собственно этим я и воспользовался.В моей конструкции 2 стороны (они параллельны), на каждой стороне 15 светодиодов последовательно, зная что каждый ws2812b имеет по 3 байта для кодирования цвета (это 12 байт через SPI), то получаем что на всё необходимо 180 байт оперативной памяти («видео память»).Следовательно для вывода цветов необходимо создать массив из 180 байт, менять значения для создания рисунка и отправлять эти 180 байт по SPI.

После того как разобрались как управлять конфигурируем микроконтроллер и пишем несколько функций

Обновление звезды — вывод «видеопамяти»
Установка цвета определённого пиксела (для удобства я ввёл систему координат кольцо звезды и лучь)
Копия цвета пиксела
Установка цвета всей памяти,
Установка цвета луча,
Установка цвета кольца,
Вращение лучей,
«Втягивание» и «отталкивание» колец относительно центра звезды.

Эти 8 функций позволяют создавать различные эффекты.Применяя рандомность и математику я создал 15 различных режимов.Для произвольной генерации эффектов и выбора последовательности эффектов, я применял псевдорандом(генерация случайных чисел), для избежания повторений при повторном включении можно задать начальную точку генерации для этих целей я использовал сумму ячеек видеопамяти сразу после начала работы микроконтроллера когда в ней содержится различная произвольная информация.

В итоге вот что у меня получилось.

Ну пожалуй на этом можно откланяться надеюсь тебе дорогой читатель понравился обзор.А на десерт праздничная гифка)

Планирую купить 0 Добавить в избранное +2 +4

(c) 2017 Источник материала

Рекламные ссылки