Сразу скажу, что проект не мой, а является немного доработанной версией лампы от Alex Gyver, за что ему большое спасибо!
Вот ссылка на оригинальный проект: огненный светильник.
Из изменений:
- корпус напечатан на 3D-принтере (файлы для печати ниже)
- разъем для подключения блока питания
- не сенсорная а обычная кнопка, размещенная сбоку внизу
Лампу делал не с целью улучшения, а в подарок, но решил все-таки добавить описание на сайт - вдруг кому-то пригодится.
Подготовка
Итак, для реализации проекта использовался все тот же плафон из Леруа-мерлен "плафон цилиндр":
Все остальное можно заказать у китайцев:
- Arduino Nano: 1 2 3
- Адресная RGB-лента WS2812B: 1 2 3
- Блок питания на 5 вольт (3А, но хватит и 2A): 1 2 3
- Кнопка (использовал самую большую): 1 2 3
- Резистор на 220 Ом: 1 2 3
- Разъем питания использовал такой: 1
Были использованы следующие инструменты:
- Паяльник (пользуюсь таким давно, идеальный по соотношения цена/качество): 1 2 3
- 3D-принтер (закрытый корпус, можно печатать и PLA, и ABS без проблем): 1, 2 3
- Инструмент для зачистки и обжима проводов (фирменный китайский LAOA): 1, 2 3
Сборка
Файлы для печати верхней и нижней части: lamp.zip.
При печати следует учесть, что, хоть размеры подгонялись под конкретный плафон, все же могут быть небольшие расхождения в размерах. Зависит от того, на каком 3D-принтере вы печатаете, с какими настройками и каким пластиком. Поэтому для плотного прилегания плафона к напечатанным частям может понадобится чуть подкорректировать размер моделей и перепечатать, либо применить изоленту/напильник.
Для лампы я использовал 4 куска светодиодной ленты по 10 светодиодов на каждом. У вас может быть другое количество светодиодов, в зависимости от типа ленты. Главное: лента должна быть именно адресная WS2812B.
После печати нижней части можно приступать к сборке. В модели предусмотрено гнездо для кнопки. Сажаем ее туда, приклеив на любой подходящий клей (я использовал клеевой пистолет). Предварительно нужно отломать 2 из 4 ножек, а 2 оставшиеся должны пропускать ток при нажатии (они расположены рядом). Просовываем их в отверстие сверху от углубления. И вставляем разъем питания.
Ну и наклеиваем куски ленты. Обратите внимание на то, что наклеивать их нужно одинаково, контактами DO вниз. Так как при использовании ленты она нагревается, я после всей остальной сборки закрепил ленту небольшими хомутами, через каждые 2 светодиода, чтобы она не отклеилась.
Далее - спаиваем 4 части адресной ленты - контакты 5v, gnd и сигнальный. Как именно - подробно показано в видео на странице оригинального проекта. Если вы только учитесь паять - не следует бояться паять адресную ленту, паяется все она очень легко. Единственный совет - я использую жидкий флюс ЛТИ-120. Он в разы лучше, чем твердая канифоль. Наносить его удобнее всего кисточкой от лака для ногтей. Также он не является активным, поэтому после его применения не нужно очищать контакты.
Вся остальная сборка делается по инструкции оригинального проекта, там все подробно показано, а также есть схема, что и как спаять. Разница только в использовании механической кнопки, припаять ее нужно к разъемам gnd (земле) и любому цифровому пину платы.
Код
Код был полностью взять с оригинального проекта. Единственное изменение, которое нужно сделать, это поменять тип используемой кнопки. Для этого в основном файле прошивки (на данный момент это gyverLight_v1.4.ino) меняем строчку 39:
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);
на
GButton touch(BTN_PIN, HIGH_PULL, NORM_OPEN);
В общем то и все.