Новый год уже не за горами. Как-то я уже делал «Новогодний светильник» из ARDUINO и картона. И вот сейчас решил продолжить темы Новогодней картонной электроники 🙂
В этот раз будем собирать ёлку со светодиодной RGB лентой. Выглядеть будет так:
Из материалов нам понадобиться:
- Картон
- Клей
- Нож/ножницы
- Iskra Neo
- Troyka Shield
- Силовой ключ (Troyka-модуль) (3 шт)
- RGB светодиодная лента
- Блок питания
- Slot Box XL (#Структор)
- Пяток разноцветных светодиодов 5 мм
- Резисторы 220 Ом по количеству светодиодов
- Немного проводов для разводки
- И чуток фантазии 😉
Блок питания я подбирал исходя из имеющейся RGB ленты, у меня она на 12в.
Итак начнём! Сначала я изготовил саму ель из картона. Вырезал, склеил лицевую часть и внутреннее наполнение.
Далее вырезал и обклеил белой бумагой площадку для крепления светодиодов-шариков. Бумага нужна для отражения света, можно и фольгу, для большей эффективности.
Теперь разместил светодиоды напротив отверстий-шариков, закрепил светодиодную ленту и обклеил белой бумагой лицевую сторону.
Да, вспомнил про термоклей, и процесс пошёл значительно бодрее 😀 Осталось распаять провода и можно будет приступать к программированию контроллера. К «минусу» каждого светодиода-шарика припаял по одному сопротивлению на 220 Ом и соединил общим проводом. А к «плюсам» просто провода разных цветов, что бы не запутаться при подключении. Для удобства соединения, на концы проводов, припаял ножки. Ну и спрятал всё это крышкой из картона.
Светодиоды-шарики будут работать напрямую от контроллера, через 3-7 пины. А вот ленту, не зависимо от её напряжения, надо подключать через силовые ключи. Их я подключу к 9, 10 и 11 пинам. Собрал корпус из Структора и подключил управляющие провода.
Далее займёмся питанием RGB ленты. Общий контакт у моей ленты «+12в», его подключаем напрямую к блоку питания. А вот остальные три контакта «-«, подключаем к силовым ключам. И минус блока питания тоже идут на соответствующие клеммы ключей. Я соединил их между собой проводками-перемычками. Вот так:
Выбранная мной для проекта Iskra NEO поддерживает питание от 7в до 12в, соответственно можно и сам контроллер записать от блока питания RGB ленты. Что я и сделал 😉
Программа
По моей задумке лента должна плавно менять цвета, а шарики просто загораться начиная с верхнего, как видно на видео. Отсюда код получился такой:
const int RED=11; // вывод R const int GREEN=10; // вывод G const int BLUE=9; // вывод B int red; // переменная для R int green; // переменная для G int blue; // переменная для B int pause = 50; //время задержки void setup() { // put your setup code here, to run once: pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(4, OUTPUT); pinMode(3, OUTPUT); } void loop() { digitalWrite(7, HIGH); //красный в жёлтый red=255;green=0;blue=0; for(green=0;green<=255;green++) setRGB(red,green,blue); delay(pause); digitalWrite(6, HIGH); //жёлтый в зелёный red=255;green=255;blue=0; for(red=255;red>=0;red--) setRGB(red,green,blue); delay(pause); digitalWrite(5, HIGH); //зелёный в голыбой red=0;green=255;blue=0; for(blue=0;blue<=255;blue++) setRGB(red,green,blue); delay(pause); digitalWrite(4, HIGH); //голубой в синий red=0;green=255;blue=255; for(green=255;green>=0;green--) setRGB(red,green,blue); delay(pause); digitalWrite(3, HIGH); //синий в фиолетовый red=0;green=0;blue=255; for(red=0;red<=255;red++) setRGB(red,green,blue); delay(pause); digitalWrite(7, LOW); digitalWrite(6, LOW); digitalWrite(5, LOW); digitalWrite(4, LOW); digitalWrite(3, LOW); //фиолетовый в красный red=255;green=0;blue=255; for(blue=255;blue>=0;blue--) setRGB(red,green,blue); delay(pause); } void setRGB(int r,int g,int b) { analogWrite(RED,r); analogWrite(GREEN,g); analogWrite(BLUE,b); delay(10); }
Но тут всё зависит только от Вашей фантазии 😉 Теперь можно залить код на плату, установить ёлку на видное место и наслаждаться результатом 🙂
Всем хорошего настроения и счастливого Нового года!
P.S.: Как вариант, для уменьшения габаритов устройства, можно было Troyka Slot Shield и маленький Slot Box. Получится заметно аккуратнее, но я исходил из того, что было под рукой.
Прикольно
НравитсяНравится