Светодиодная новогодняя елка на Arduino за один вечер

в 21:12, , рубрики: arduino, DIY, diy или сделай сам, tutorial, ёлка, Электроника для начинающих, метки: , , , ,

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

Пролог

Копаясь по ящикам стола я набрел на горстку разноцветных светодиодов, которые были «непонятно зачем» (часть сленга моей жены) куплены на eBay.
Вечерело, за окном падал пушистый снег, камин уютно грел пятую точку… То есть, все распологало к тому, что бы взять паяльник и попросить вернуть соседа старый долг что-то такое праздничное и простенькое наваять.
В итоге мне удалось поймать за хвост идею сделать светодиодную елку на Arduino.

Идея

Идея, хоть, и была навеселе, но предложила мне следующий простой концепт: объединить несколько светодиодов в виде матрицы и на каркасе из одножильного провода типа 24 AWG соорудить что-то немного напоминающее елку.
Светодиоды соединены в четыре группы. Каждая группа состоит из трех светодиодов с общим катодом анодом катодом анодом (никак не могу запомнить кто из них кто).
Схема примерно такая (резисторы добавить по вкусу):
Светодиодная новогодняя елка на Arduino за один вечер
Ряды идут на цифровые выходы Arduino, группы я подсоединил на аналоговые выходы (по идее можно их тоже на цифровые, но у меня не было подходящих токоограничительных резисторов и я решил просто ограничивать яркость ШИМом на скорую руку).
То есть, когда у ряда на выходе 0, то можно управлять светодиодами в группе. Когда у ряда 1, то светодиоды терпеливо молчат и ждут своей очереди.

P.S.: Только я не что-то не смог придумать как аккуратно повесить один светодиод (белый?) в виде звезды сверху. Разве что просто отдельно повесить, но конструкция будет не очень устойчива. Оставлю это как домашнее задание для любопытного читателя. Предложения в комментариях приветствуются.

Нам понадобится

  • Желание и время заниматься этой ерундой
  • Горстка светодиодов (я использовал 5 мм светодиоды разных цветов — 3 красных, 3 желтых, 3 синих и 3 зеленых)
  • Arduino или любую другую подходящую плату с микроконтроллером (я использовать Arduino Fio так как ее удобно запитать от Lipo аккумулятора)
  • Одножильный провод для каркаса
  • Инструменты для пайки

Сборка

Для начала светодиоды я решил обработать наждачкой, так как хотелось что бы они немного рассеивали свет:
Светодиодная новогодняя елка на Arduino за один вечер
Фотик старый, руки дрожат, горизонт завален — к сожалению, это отразилось на всех фотках. Но надеюсь, что процесс передать получилось.

Саму сборку я начал с формирования и пайки отдельных рядов.
Нижний ряд имеет сторону примерно 60мм, средний ряд примерно 50мм, а верхний получился примерно 30мм.
Так выглядят отдельно собранные три ряда:
Светодиодная новогодняя елка на Arduino за один вечер

Напаиваем первую цепочку светодиодов и там самым формируя нашу «типа елку»:
Светодиодная новогодняя елка на Arduino за один вечер

Дальше уже проще. Вот тут уже напаяна вторая цепочка светодиодов (фотка с дальним родственником):
Светодиодная новогодняя елка на Arduino за один вечер

Таким образом напаиваем остальные светодиодные цепочки на каркас.

Проверка и код

Проверял я на Arduino Mega2560, так как это единственная Arduino плата, которая согласилась на сей опасный эксперимент (все остальные куда-то попрятались когда узнали что я решил замутить):
Светодиодная новогодняя елка на Arduino за один вечер

Код можно скачать на Github'e: github.com/nochkin/ardutree
Сам код, конечно, не претендует на гениальность, но я постарался упростить его как смог, что бы другим было проще его модифицировать.
Там можно задавать свои программы и последовательности.

Результат

После отладки и проверки я перенес все это безобразие на Arduino Fio с Lipo аккумулятором дабы придать некую законченность и мобильность конструкции:
Светодиодная новогодняя елка на Arduino за один вечер

Обязательное видео:

Автор: nochkin

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js