Андрей Смирнов
Время чтения: ~9 мин.
Просмотров: 2

Гирлянда на адресных светодиодах ws2812b и arduino

WS2812B-s-1240x630.jpg

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

Такое украшение будет отлично смотреться на окне и радовать глаз не только хозяев, но и проходящих мимо людей.

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

Что мы получим в итоге

Гирлянда, которую мы будем делать, состоит из адресных светодиодов. От обычных данные диоды отличаются наличием логического контакта, через который осуществляется управление цветом и яркостью свечения.

Соответственно, для управления такой гирляндой нужны “мозги”. Плата управления будет несколько раз в секунду отправлять разные сигналы на каждый диод, что позволит получить красивые динамические эффекты и анимацию.

Если обычная гирлянда просто включает диоды по расписанию или может максимум выдавать эффект снегопада, то у нас получится сделать бегущую строку с текстом и более 20 эффектов. Каждый режим свечения будет настраиваемым с возможностью менять большинство параметров.

Что нужно купить на AliExpress

IMG_4314.jpg

Для сборки данной матрицы нужно купить такие компоненты:

▸ плата Arduino Nano – от 132 руб. Берите сразу несколько, стоят “ардуинки” недорого, а проектов с их участием большое множество.

▸ лента с адресными диодами WS2812B – от 660 руб. Лента продается в мотках по 50 или 100 диодов. Для интересной и заметной матрицы нужно минимум сотня огоньков.

IMG_4313.jpg

▸ для того, чтобы спаять компоненты, потребуется паяльник. Давно купил себе популярную модель TS100 – 3541 руб. За два года использования ни разу не пожалел, это до сих пор самый продвинутый паяльник для радиолюбителей.

Тем, кто паяет редко, для пары проектов подойдет самая простая и доступная модель – 275 руб.

▸ питать готовую конструкцию можно от мощной зарядки для смартфона (5В 3А минимум) – от 257 руб., можно подключить к Power Bank, который выдает подобную мощность.

▸ еще для базовой реализации проекта потребуется сопротивление 220 ом – то 14 руб.

▸ не забывайте про канифоль и олово для пайки – от 107 руб.

Последние компоненты найдете в любом радиомагазине.

Выбираем размер для гирлянды

Оптимальная схема подключения и расположение диодов на окне

Чтобы подобрать размер будущей гирлянды, нужно замерить окно, на которое она будет крепиться в дальнейшем. Конечно, гирлянду можно повесить дома на стену, но мы же не будем прятать такую красоту от любимых соседей.

Диоды в ленте уже спаяны между собой секциями провода по 10 см. Это достаточное расстояние между лампами по вертикали. Чтобы получить пропорциональную матрицу, нужно будет крепить вертикальные куски ленты на аналогичном расстоянии друг от друга.

Замеряем, сколько диодов поместится в одной вертикальной полосе на окне (учтите, что открывающиеся стеклопакеты имеют меньшую высоту стеклянного блока, чем “глухие”). Прикидываем, сколько вертикальных полос поместится на окнах. Не забывайте, что в месте перехода от одного окна к другому придется сделать более длинное соединение.

Лучше всего заполнить матрицей целое окно минимум из трех створок или все окна балкона.

Паяем все компоненты

На странице проекта (Спасибо Алексу Гайверу!) можно увидеть различные модификации гирлянды: от самой базовой, которую мы сейчас соберем, до продвинутой с кнопками управления или Blutooth-модулем для подключения со смартфона.

Самый простой вариант сборки

Собираем согласно приведенной схемы:

1. Последовательно спаиваем или соединяем коннекторами части диодной ленты (если взяли более одного сегмента).

2. Логический контакт от ленты через резистор припаиваем к “ноге” D6 на Arduino Nano.

3. Контакты питания паяем к коннектору блока питания или к питанию через USB-порт, если планируем подключать к Power Bank.

4. Наша матрица с блоком управления готова, осталось только загрузить нужную прошивку в Arduino.

В дельнейшем легко добавить другие модули и элементы к данному проекту.

Готовим Mac к работе с Arduino

1. Скачиваем среду разработки Arduino IDE для прошивки нашего модуля.

2. Извлекаем программу из архива и переносим в папку Приложения.

3. Скачиваем библиотеки Java Runtime Environment для работы приложения.

4. Монтируем образ и устанавливаем пакет.

5. Скачиваем кекст (драйвер) для работы с китайскими аналогами платы Arduino по ссылке. Выбираем последнюю версию 1.5. Владельцам оригинального модуля драйвер не потребуется.

6. Извлекаем установщик из архива и запускаем процесс инсталляции.

7. В процессе разрешаем установку от неподтвержденного разработчика и перезагружаем Mac.

Настраиваем среду разработки Arduino IDE

1. Подключаем Arduino к Mac и запускаем приложение Arduino IDE.

2. В меню Инструменты – Плата выбираем тип используемой платы Arduino.

3. В меню Инструменты – Процессор выбираем тип процессора на плате. Чаще всего это ATmega328P, но на старых платах может использоваться ATmega328P (Old Bootloader). Проверяется методом перебора.

4. В меню Инструменты – Порт выбираем USB порт с подключенной платой Arduino. Если плата не отображается, следует удалить и заново установить кексты по инструкции выше.

5. Проверяем подключение командой Инструменты – Получить информацию о плате.

Все, наше приложение готово и настроено для работы с платой Arduino.

Загружаем проект для гирлянды в Arduino

1. Скачиваем проект с сайта разработчика.

2. Распаковываем архив и находим файл проекта GyverMatrixOS_v1.12.ino (можете использовать боле старые версии или новые после их добавления автором).

3. Импортируем библиотеки, которые нужны для работы проекта через меню Скетч – Подключить библиотеку – Добавить .ZIP Библиотеку…

Потребуется поочередно импортировать четыре библиотеки из архива с проектом, которые лежат в папке GyverMatrixBT-master/libraries/ESP, ARDUINO/.

4. Вносим необходимые изменения в проект:

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

Во-вторых, нужно правильно указать угол начала матрицы (место подключения питания) и направление расположения диодов. Для этого можно воспользоваться подсказкой ниже:

В-третьих, нужно отключить неиспользуемые эффекты. Проект получился достаточно большой и наша плата Arduino не сможет вместить все имеющиеся анимации.

Для редактирования списка эффектов нужно перейти на вкладку Custom и удалить ненужные блоки начиная с “case” и заканчивая ” break;”

Эффекты можно менять местами или вставлять для повторения. Не забывайте про синтаксис.

Когда итоговый порядок эффектов будет определен, нужно еще раз проверить нумерацию от 0 до последнего пункта и обязательно изменить параметр MODES_AMOUNT на итоговое количество эффектов (считать вместе с нулевым).

Здесь же настраивается текст и цвет для бегущих строк.

В-четвертых, настраиваем дополнительные параметры для каждого из эффектов.

Часть настроек находится на главной вкладке проекта, а остальные – на вкладке effects.

5. Когда все настройки внесены, можем загружать прошивку на Arduino.

При возникновении ошибок они будут отображаться в сервисном окне снизу. Ошибки могут быть связаны с отсутствующими библиотеками (внимательно повторяем инструкцию по настройке Arduino IDE) или с нехваткой места на плате (об этом будет явно указано в консоли).

После прошивки отключаем плату от компьютера и подаем питание выбранным способом: через адаптер от сети или при помощи Power Bank.

Для внесение поправок или изменений в эффектах нужно будет снова подключить Arduino к Mac и загрузить измененную прошивку.

Остается только закрепить гирлянду на окно и дождаться темного времени суток. Скопление зевак и прохожих под окном гарантировано.

🤓 Хочешь больше? Подпишись на наш Telegramнаш Telegram. … и не забывай читать наш Facebook и Twitter 🍒 iPhones.ru Ничего подобного даже на AliExpress не продается. —>

МАТЕРИАЛЫ И КОМПОНЕНТЫ

Ссылки на магазины, с которых я закупаюсь уже не один год

Вам скорее всего пригодится:

Первые ссылки по возможности оставлены на одного и того же продавца, чтобы сэкономить на доставке. Остальные ссылки – резервные. Нажимайте ссылки колёсиком мыши, чтобы открыть в новом окне!

  • Arduino NANO 328p – искать

ЗАГРУЗКА ПРОШИВКИ

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате Arduino. Гайд по скачиванию и загрузке прошивки можно найти под спойлером на следующей строчке.

ИНСТРУКЦИЯ ПО ЗАГРУЗКЕ ПРОШИВКИ

1. Если это ваше первое знакомство с Arduino, внимательно изучите гайд для новичков и установите необходимые для загрузки прошивки программы.

2. Скачайте архив со страницы проекта. Если вы зашли с GitHub – кликните справа вверху Clone or download, затем Download ZIP. Это тот же самый архив!

3. Извлеките архив. Содержимое папки libraries перетащите в пустое место папки с библиотеками Arduino C:/Program Files (x86)/Arduino/libraries/

4. Папку с прошивкой из firmware положите по пути без русских букв. Если в папке с прошивкой несколько файлов – это вкладки, они откроются автоматически.

5. Настройте прошивку (если нужно), выберите свою плату, процессор. Подключите Arduino к компьютеру, выберите её COM порт и нажмите загрузить.

6. При возникновении ошибок или красного текста в логе обратитесь к 5-ому пункту гайда для новичков – “Разбор ошибок загрузки и компиляции“.

Содержимое папок в архиве

  • libraries – библиотеки проекта. Заменить имеющиеся версии
  • firmware – прошивки для Arduino
  • schemes – схемы подключения компонентов

Гирлянда.jpg

Гирлянда на ws2812b: http://ali.pub/2wm1f6

Arduino uno: http://ali.pub/1th4sk

Блок питания 5В 2а: http://ali.pub/2wm11r

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

В данной гирлянде используется 50 светодиодов находящихся на расстоянии друг от друга в 10 см и тем самым гирлянда имеет 5 метров. Можно и больше диодов например 100 но сто светодиодов это предел для микроконтроллеров atmega328 которые находятся в arduino uno и arduino nano. Если всетаки у Вас например очень большая елка и выходите больше 100 светодиодов, то нужно взять микроконтроллер arduino mega http://ali.pub/1bl0n8 он то уж точно справится и с большим количеством диодов. В отличии от снежинки где простой эфект, здесь 11 эфектов, с разной яркостью и в пике может довольно сильно проседать по питанию, поэтому и рекомендую блок питания не меньше 2А.

Сама программа сложная, состоит из 18 вкладок, умеет управляться по блютузу с помощью приложения на android. данную программу я нашел на просторах интернета, где-то на  adafruit.

Схема подключения выглядит вот таким образом:

гирлянда-на-ws2812.jpg

Сам скетч можно скачать здесь: https://yadi.sk/d/gbYCnPUGHQeFdg

При заливке скетча, он должен выглядеть вот таким образом:

скетч_гирлянда.jpg

Тоесть в нем должно быть много вкладок, каждая вкладка отвечает за свой эффект.

Во вкладке “anim.h” содержатся настройки для светодиодной ленты:

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

Демонстрация работы гирлянды в видео:

—>Используемые источники:

  • https://www.iphones.ru/inotes/kak-sdelat-krutuyu-novogodnyuyu-girlyandu-svoimi-rukami-11-25-2019
  • https://alexgyver.ru/christmaslights/
  • http://psenyukov.ru/гирлянда-на-адресных-светодиодах-ws2812b-и-arduino/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации