Оглавление:

Праздничное световое шоу Easy LED: Волшебники зимой - Светодиодная лента WS2812B с FastLED и учебное пособие по Arduino: 6 шагов
Праздничное световое шоу Easy LED: Волшебники зимой - Светодиодная лента WS2812B с FastLED и учебное пособие по Arduino: 6 шагов

Видео: Праздничное световое шоу Easy LED: Волшебники зимой - Светодиодная лента WS2812B с FastLED и учебное пособие по Arduino: 6 шагов

Видео: Праздничное световое шоу Easy LED: Волшебники зимой - Светодиодная лента WS2812B с FastLED и учебное пособие по Arduino: 6 шагов
Видео: АСМР 🏆🔥[Гарри Поттер и Кубок огня] [Глава 20-29] Чтение шепотом 📚 ASMR whisper [Harry Potter] 2024, Ноябрь
Anonim
Image
Image

Я разработал и запрограммировал это праздничное световое шоу, чтобы показывать его где угодно. Я использовал одну светодиодную ленту WS2812B с плотностью пикселей 30 пикселей / метр. Поскольку я использовал 5 метров, у меня было всего 150 светодиодов. Я сохранил код простым, чтобы любой, кто не знаком с светодиодными лентами WS2812B, мог легко следовать ему. Это также означает, что если вы используете разное количество пикселей, синхронизация будет отключена, поэтому вам следует придерживаться 150 светодиодов. Кроме того, чтобы не усложнять, музыкальная система вообще не управляется Arduino. В начале программы происходит 3 вспышки зеленого цвета и 1 вспышка красного цвета, затем начинается фактическое световое шоу. Так как вам нужно запустить музыку вручную, эти начальные вспышки должны указать вам, когда начать воспроизведение музыки. Я добавил код ниже. Не стесняйтесь добавлять или изменять этот код в некоммерческих целях.

Запасы

- Светодиодная лента WS2812B

- Ардуино

- Провода

- Блок питания 5V 10A | Если вы используете более одной полосы, вам потребуется более мощный блок питания. Каждый пиксель использует 60 мА, поэтому 150 пикселей * 60 мА = 9 А. Ваш блок питания должен справиться с этим, если вы собираетесь использовать полную яркость белого цвета. Вы должны использовать источник питания 5 В, если используете светодиодные ленты 5 В, а если вы используете светодиодные ленты на 12 В, вам нужно будет использовать источник питания 12 В, но также использовать преобразователь 12-5 В для питания 5V Arduino.

Шаг 1. Загрузите библиотеку FastLED

Определите несколько переменных
Определите несколько переменных

Если у вас еще нет загруженной библиотеки FastLED, загрузите последнюю версию с github.com/FastLED/FastLED/releases

Загрузите библиотеку FastLED и переместите ее в папку с библиотеками Arduino. НЕ меняйте имя этой папки. В среде Arduino IDE выберите «Скетч», «Включить библиотеку», а затем «Добавить. ZIP-библиотеку». Выберите папку FastLED.

После того, как ваша библиотека настроена, включите строку #include Эта строка сообщает программе, что вы используете эту библиотеку.

Шаг 2: определите несколько переменных

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

В строке #define NUM_LEDS 150 указывается количество используемых пикселей. В этом случае это будет 150.

Строка #define DATA_PIN 5 - это то место, где вы помещаете цифровой вывод, к которому вы подключили провод данных.

Строка #define BRIGHTNESS 255 - это место, где вы устанавливаете яркость по шкале от 0 до 255, где 255 - самая яркая.

Шаг 3: Раздел установки кода

Раздел кода настройки
Раздел кода настройки

В разделе настройки есть задержка на 2 секунды и строка

FastLED.addLeds (светодиоды, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B указывает тип используемой светодиодной ленты, а DATA_PIN - это переменная, которую мы определили на предыдущем шаге. GRB - это порядок цветов. Это может варьироваться в зависимости от используемой светодиодной ленты. Попробуйте использовать код как есть, а если цвета не такие, как на видео, попробуйте изменить его, например, на RGB или BRG. Остальную часть строки можно оставить без изменений. Линии

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

ограничить энергопотребление светодиодной ленты. Это замечательная возможность из библиотеки FastLED. Число 5 - это напряжение, которое мы использовали, а число 8000 - максимальный ток, который может использовать светодиодная лента в мА. Рекомендуется использовать только 80% мощности источника питания, чтобы продлить срок его службы. Так как у меня блок питания на 10А, 0,8 * 10 = 8А, или 8000мА.

Шаг 4: Цикл | Ака, крутая часть кода

Секция петли | Ака, крутая часть кода
Секция петли | Ака, крутая часть кода
Секция петли | Ака, крутая часть кода
Секция петли | Ака, крутая часть кода

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

Шаг 5: Подключение

Проводка
Проводка

Светодиодные ленты WS2812B имеют по 3 клеммы на каждом конце. 2 для питания и 1 для сигнала данных, поступающего от нашей Arduino. Просто подключите 2 провода к клеммам питания Arduino и подключите 2 провода питания к светодиодной ленте. Вам также следует добавить 2 провода питания, называемые проводами подачи питания, к концу полосы, потому что потеря напряжения может привести к тусклому свету светодиодов на конце полосы, если вы этого не сделаете. Проверьте метки на полосе, чтобы узнать, какой терминал для чего предназначен. Из-за неправильной полярности полоска может поджариться. Кроме того, подключите заземляющий провод Arduino к заземляющему проводу на светодиодной ленте, чтобы установить общее заземление для лучшей передачи данных. Я уже упоминал, что вам следует добавить провода подачи питания, но вы НЕ МОЖЕТЕ сделать это для провода данных. Это связано с тем, что каждый светодиод ретранслирует сигнал данных на следующий, поэтому обязательно подключите 1 провод данных к указанному выводу Arduino и светодиодной полосе. На полосе должна быть небольшая стрелка, указывающая направление движения данных. Убедитесь, что провод сигнала данных находится в начале, а не в конце. Если все перемешать, получится жареная полоска.

Шаг 6: Установка светодиодной ленты

Я прикрепил свою светодиодную ленту к внутренней части окна, просто приклеив ее. Однако есть много других способов крепления светодиодной ленты. Вы можете использовать алюминиевый канал, такой как https://tinyurl.com/s2km4v3, чтобы положить полосы снаружи на линию крыши. Если вы размещаете светодиодные ленты снаружи, я рекомендую использовать ленты IP65, если вы используете алюминиевый канал, потому что они полуводонепроницаемы и тоньше, чем 1p67, который может не поместиться в некоторых каналах. Если вы собираетесь установить его снаружи без канала, используйте полоски IP67, которые практически водонепроницаемы. Чтобы обогнуть угол, например, на вершинах линии крыши, в идеале вы должны разрезать полосу и использовать провода, чтобы обогнуть угол. Возможно, вам удастся просто согнуть полоску, но будьте осторожны с тем, насколько вы их сгибаете, потому что светодиод легко выскочить.

Рекомендуемые: