Управление несколькими светодиодными полосами, основанными на ws2812b

Подключение WS2812B матрицы к Arduino

Данная матрица потребляет много тока, ведь один светодиод потребляет около 30 мА при полной яркости. Соответственно имея 64 светодиода, нам необходимо запитать матрицу током около 2 А от внешнего источника питания, чтобы можно было безопасно использовать устройство.

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

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

Держатель для платы
Материал: АБС + металл, размер зажима печатной платы (max): 20X14 см…

Подробнее

Подключение достаточно простое, DIN подключается к контакту 6 Arduino Uno, а GND и VCC — к модулю на макетной плате.

После того, как мы собрали схему, мы можем перейти к вопросам программирования. Начнем мы с выбора библиотеки, а именно с библиотеки Adafruit NeoPixel.

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

В качестве основного цвета выберем красный, он также может быть зеленым или синим. Из-за того, что цвет здесь задается с помощью палитры RGB (КРАСНЫЙ, ЗЕЛЕНЫЙ, СИНИЙ), стоит сделать его одним из этих цветов, это будет самый простой способ!

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

Таким образом, первый светодиод будет иметь значение (255,0,0), 10-й светодиод (255, 20, 30) и последний 64-й светодиод (255, 128, 192).

#include <Adafruit_NeoPixel.h>
#define PIN 9 //подключен к управляющему контакту DIN-матрицы
#define DIODY 64 //количество светодиодов
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(DIODY, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
  pixels.begin(); // инициализация библиотеки 
}
void loop()
{
  for(int i=0; i<DIODY; i++)
  {
    pixels.setPixelColor(i, 255, i*2, i*3); // Светодиод «i» и цвет (константы 255, i * 2, i * 3)
    pixels.show(); // отправляем данные
    delay(500); //пауза 0,5 секунды, пока не загорится следующий светодиод 
  }
}

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

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

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

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

#include <Adafruit_NeoPixel.h>
#define PIN 6 //подключен к управляющему контакту DIN-матрицы
#define DIODY 64 //количество светодиодов
#define piksele 24//количество светящихся светодиодов
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(DIODY, PIN, NEO_GRB + NEO_KHZ800);
byte ledy[]={3,4,5,6,10,15,17,19,22,24,25,28,29,32,33,36,37,40,42,47,51,52,53,54};//w tablicy umieszczamy numery diod które chcemy zapalić
void setup()
{
  pixels.begin(); // инициализация библиотеки
  pinMode(7, INPUT);
}
void loop()
{
  if(digitalRead(7==HIGH))//если кнопка нажата
  {
    for(int i=0; i<piksele; i++)//берем последовательно значения из массива
  {
    pixels.setPixelColor(ledy, 255, 0, 0);//светодиоды
    pixels.show(); // отправляем данные
    delay(50);
  }
  }
  else
  {
     for(int i=0; i<piksele; i++)
  {
    pixels.setPixelColor(ledy, 0, 255, 0); 
    pixels.show(); // отправляем данные
    delay(50);
  }
  }
  delay(500);
}

То, что будет отображаться, увидят только люди, загрузившие программу дома!

Как видите, работа светодиодной матрицы на основе RGB-светодиодов с драйвером WS2812B проста и приятна. Безусловно, это гораздо лучшее решение, чем управление одиночными RBG светодиодами.

Подключение более 5 метров.

Если вам нужно подключить более 5м умной ленты, то для ее равномерного свечения нельзя просто наращивать подсвету последовательно. Речь здесь идет в первую очередь про питание!

Когда количество пикселей на контроллере позволяет подключить большую длину, вы без проблем стыкуете коннекторы DI и DO между собой. Но вот питание (5В или 12В), все равно придется тянуть отдельно (параллельно).

Есть контроллеры с дополнительными проводами под “лишнее” питание на такой случай.

Ошибка №6

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

Например, взять три куска ws2812b (5м+5м+5м) и подать на них в самом начале ленты 15 вольт, рассчитывая при этом на последовательное падение напряжения.

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

Ошибка №7

Лента вместо белого светится с оттенком желтоватого или красного цвета.

Скорее всего дело здесь в неправильно подобранном сечение проводов. Всегда берите минимум 1,5мм2.

Недостаток цвета – это первый признак просадки напряжения. Уход в красноту объясняется тем, что для синего и зеленого цветов на чипе 2812b требуется порядка 3,5В, а вот для красного достаточно и 2В.

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

Как сделать освещения для праздника

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

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

Основные технические характеристики

Чтобы понять, подойдёт ли данный тип LED-ленты для решения поставленных задач, необходимо узнать её параметры. Для этого предлагаем рассмотреть основные технические характеристики светодиодной ленты SMD 5050.

Напряжение питания

Значительная часть светодиодных лент рассчитана на работу от сети постоянного тока напряжением 12 В, что обусловлено несколькими факторами:

  • +12 В – это стандарт, применяемый для многих видов аккумуляторов, включая автомобильные;
  • +12 В позволяет запитать группу из 3-х последовательно включенных светодиодов любого цвета с минимальными потерями на ограничивающем резисторе;
  • +12 В является наиболее безопасным напряжением для человека.

Светодиодная лента SMD 5050 на 12 В – это оптимальный вариант для конструирования подсветки в домашних условиях, т.к. для её подключения можно воспользоваться не только готовым блоком питания, но и блоком питания от компьютера или аккумулятором от ИБП.

Также в продаже можно найти светодиодные ленты SMD 5050 на 24 В и 36 В, подключаемые к соответствующему БП постоянного тока, и с питанием от сети переменного тока 220 В, подключаемые через диодный выпрямитель. Модели с таким напряжением не пользуются большой популярностью по разным причинам, в т.ч. из-за большой кратности резки. Для адресной ленты SMD 5050 напряжение питания составляет 5 В.

Степень защиты от влаги и пыли

Важным параметром при выборе светодиодной ленты является степень защиты от внешнего воздействия твёрдых предметов и воды (IPXX). Пренебрегать этим параметром нельзя, т.к. он влияет на стоимость и на способность изделия противостоять негативному влиянию внешних факторов в процессе эксплуатации. Как правило, внешняя оболочка светодиодных лент SMD 5050 имеет следующий класс защиты:

  1. IP20 – от твёрдых предметов диаметром более 12,5 мм и никак не препятствует попаданию воды. Такое изделие не имеет никакого покрытия и может применяться только внутри сухих помещений (гостиные, спальни, офисы).
  2. IP33 – от твёрдых предметов диаметром более 2,5 мм и от капель воды. В данном случае покрытие выполнено из тонкого слоя лака. Кроме сухих помещений, лента может применяться для подсветки кухни, где существует вероятность попадания на неё водяных капель.
  3. IP54 – с частичной защитой от пыли и брызг воды в виде силиконового слоя только со стороны элементов. Как и в предыдущем варианте, такая лента предназначена для оформления интерьера кухонь и прочих помещений с временно повышенной влажностью.
  4. IP65 – с полной защитой от пыли и струй воды. В данном случае защитный слой – это силиконовое покрытие со всех сторон. Светодиодная лента с IP выше 65 вполне подходит для уличной подсветки и ванных комнат.
  5. IP67 – выдерживает кратковременное нахождение под водой. Визуально от изделий с IP65 отличается типом оболочки (ПВХ профиль и силикон сверху). Она прекрасно подходит для авто- и вело- тюнинга.
  6. IP68 – наивысшая степень пыле и влагозащиты. Такая LED-лента размещена внутри ПВХ-трубки и способна длительно без повреждений выдерживать воздействие воды под давлением. Сфера её применения – украшение бассейнов и фонтанов.

Плотность светодиодов

Этот параметр указывает на количество светодиодов в одном погонном метре ленты и может принимать значения: 30, 60, 120 и 240 шт./м. Чем выше плотность монтажа, тем больше световой поток и мощность потребления светодиодной ленты SMD 5050. Чтобы не допустить деградации светодиодов, ленту с плотностью 120 и 240 светодиодов на метр необходимо клеить на алюминиевый профиль.

Иногда вместо плотности (шт./м.) на бобине можно увидеть надпись «количество – 300 шт.» Это значит, что производитель указал общее количество светодиодов в ленте длиной 5 метров. Соответственно плотность такой ленты стандартная – 60 шт./м.

Световой поток

Для монохромных и RGB светодиодных лент SMD 5050 результирующая величина светового потока зависит от цвета свечения. Известно, что глаз человека лучше всего воспринимает зелёный свет. Поэтому RGB лента, включённая в режиме зелёного света, кажется наиболее яркой. Также не стоит забывать о том, что световой поток LED-ленты «Эконом» класса примерно на 30% ниже, чем у «Премиум» класса. Причём существенная разница в качестве может наблюдаться даже у одного производителя. Например:

  • Foton SMD5050-30led/m-RGB-IP20-Econom – 180 lm;
  • Foton SMD5050-30led/m-RGB-IP20-Premium – 270 lm.

На световой поток белой светодиодной ленты SMD5050 влияет цветовая температура (оттенок). Для чипа SMD 5050 нейтрального света (4500-5500°K) нормой считается световой поток 18 лм; тёплого света (3000-4000°K) – 16 лм; холодного света (6000-7500°K) – 20 лм. Умножая данные значения на плотность, получим суммарное количество люмен, испускаемых одним метром светодиодной ленты.

Управление

Включение светодиода происходит при прохождении прямого тока, когда анод подключен к плюсу, катод к минусу. Многоцветный спектр излучения можно получить, изменяя интенсивность свечения каналов (RGB). Результирующий оттенок определяется соотношением яркостей отдельных цветов. Если все 3 цвета одинаковы по интенсивности свечения, результирующий цвет получается белым.

На цифровых выходах платы Arduino формируются периодические прямоугольные импульсы напряжения, как на рисунке 4., с изменяемой скважностью. Рис

4

Рис. 4

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

Такое изменение скважности импульсов, осуществляемое в целях управления процессом, называется ШИМ (широтно – импульсной модуляцией).

На Рис.4 приведены примеры диаграмм прямоугольных импульсов различной скважности. Управление цветом и интенсивностью свечения rgb диода может осуществляться и без ШИМ

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

Управление цветом и интенсивностью свечения rgb диода может осуществляться и без ШИМ. На приведенной ниже схеме применено аналоговое управление трехцветными светодиодами. Суть его заключается в регулировании постоянного тока диодов определенного цвета.

Рис. 5

На схеме (Рис.5) rgb диоды (led1- led10) имеют общий анод. Катоды одного цвета всех диодов объединены, и через резисторы R4.1, R4.2, R4.3 соединяются с эмиттером соответствующего транзистора. Таким образом, все светодиоды красного цвета подключены к транзистору VT1.1, зеленые светодиоды – к VT1.2, синие – к VT1.3. При перемещении движков потенциометров R1.1, R1.2, R1.3 изменяется ток базы соответствующего транзистора. Величина тока базы определяет степень открытия перехода «эмиттер – коллектор», и, в конечном счете, яркость свечения соответствующего цвета. Перед подключением нужно правильно определить полярность светодиода, иначе он не будет светиться.

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

Вводная информация о светодиодах

Светодиоды – электронный компонент, способный излучать свет. Сегодня они массово применяются в различной электронной технике: в фонариках, компьютерах, бытовой технике, машинах, телефонах и т.д. Многие проекты с микроконтроллерами так или иначе используют светодиоды.

Основных назначений у них два:

  • демонстрация работы оборудования или оповещение о каком-либо событии;
  • применение в декоративных целях (подсветка и визуализация).

Внутри светодиод состоит из красного (red), зеленого (green) и синего (blue) кристаллов, собранных в одном корпусе. Отсюда такое название – RGB.

Адресуемый светодиод

Это RGB-светодиод, только с интегрированным контроллером WS2801 непосредственно на кристалле. Корпус светодиода выполнен в виде SMD компонента для поверхностного монтажа. Такой подход позволяет расположить светодиоды максимально близко друг другу, делая свечение более детализированным.

Стоит учесть, что один светодиод потребляет при полной яркости всего 60-70 мА, при подключении ленты, например, на 90 светодиодов, потребуется мощный блок питания с током не менее 5 ампер. Ни в коем случае не питайте светодиодную ленту через контроллер, иначе он перегреется и сгорит от нагрузки. Используйте внешние источники питания.

Адресная светодиодная лента Ардуино

Адресные ленты отличаются плотностью — от 30 до 144 светодиодов на метр, изготавливаются разном защитном исполнении: IP30, IP65, IP67, IP68. Все варианты исполнения, кроме IP30, могут применяться на улице в диапазоне температур от -25 до +80°C. Еще одна, более надежная лента — WS2813 отличается возможностью передавать сигналы дальше по цепочке даже через сгоревший чип.

Светодиодная лента WS2812B характеристики

  • Размер светодиода — 5 х 5 мм
  • Частота ШИМ — 400 Гц
  • Скорость передачи данных — 800 кГц
  • Размер данных — 24 бита на светодиод
  • Напряжение питания — 5 Вольт
  • Потребление при нулевой яркости — 1 мА на светодиод
  • Потребление при максимальной яркости — 60 мА на светодиод
  • Цветность: RGB, 256 оттенков на канал, 16 миллионов цветов

Характеристики WS2812B адресной светодиодной ленты

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

Как проверить адресную ленту без Ардуино

При подключении обращайте внимание на направление стрелок

Многих интересует, как включить адресную ленту без Ардуино и проверить ее на работоспособность. Если просто подключить питание к ленте, то ничего не произойдет — проверить ленту без контроллера нельзя. Если задеть цифровой вход адресной ленты, то могут загореться несколько светодиодов из-за случайных помех, которые воспринимаются контроллерами ws2812b светодиодов, как команды.

Если под рукой нет платы Ардуино, то можно использовать для проверки специальный контроллер. В крайнем случае, просто потрогать цифровой провод, чтобы понять будут гореть светодиоды на ленте или нет. Другого надежного способа проверить работу ws2812b ленты нет, поэтому рассмотрим далее управление и программирование адресной светодиодной ленты на микроконтроллере Ардуино Нано или Уно.

От какого напряжения подключать контроллер?

Во-первых,
не от 220 вольт. Наиболее распространенные виды напряжения светодиодных лент
это 12 и 24 вольт.

Поэтому практически все контроллеры являются адаптивными аппаратами, способными работать как на 12V, так и на 24V одновременно.

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

Чем меньше вольтаж, тем меньше расчетная мощность устройства.

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

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

Прежде всего, сравните мощность вашей Led ленты и мощность контроллера на этом напряжении.

И если все совпадает, только тогда смело покупайте.

Пример программы

Платы Ардуино способны управлять светодиодными конструкциями по заранее заданным программам. Их библиотеки можно скачать с официально сайта, найти в интернете или написать новый sketch (code) самому. Собрать такое устройство можно своими руками.

Вот некоторые варианты использования подобных систем:

  • Управление освещением. С помощью датчика освещения включается свет в комнате как сразу, так и с постепенным нарастанием яркости по мере захода солнца. Включение может также производиться через wi-fi, с интеграцией в систему «умный дом» или соединением по телефону.
  • Включение света на лестнице или в длинном коридоре. Очень красиво смотрится диодная подсветка каждой ступеньки в отдельность. При подключении к плате датчика движения, его срабатывание вызовет последовательное, с задержкой времени включение подсветки ступеней или коридора, а отключение этого элемента приведет к обратному процессу.
  • Цветомузыка. Подав на аналоговые входы звуковой сигнал через фильтры, на выходе получится цветомузыкальная установка.
  • Моддинг компьютера. С помощью соответствующих датчиков и программ цвет светодиодов может зависеть от температуры или загрузки процессора или оперативной памяти. Работает такое устройство по протоколу dmx 512.
  • Управление скоростью бегущих огней при помощи энкодера. Подобные установки собираются на микросхемах WS 2811, WS 2812 и WS 2812B.

Лампа на светодиодной ленте с красивыми эффектами

Сразу скажу, что проект не мой, а является немного доработанной версией лампы от Alex Gyver, за что ему большое спасибо!

Вот ссылка на оригинальный проект: огненный светильник.

Из изменений:

  • корпус напечатан на 3D-принтере (файлы для печати ниже)
  • разъем для подключения блока питания
  • не сенсорная а обычная кнопка, размещенная сбоку внизу

Лампу делал не с целью улучшения, а в подарок, но решил все-таки добавить описание на сайт – вдруг кому-то пригодится.

Подготовка

Итак, для реализации проекта использовался все тот же плафон из Леруа-мерлен “плафон цилиндр”:

Все остальное можно заказать у китайцев:

  • Arduino Nano:   
  • Адресная RGB-лента WS2812B:   
  • Блок питания на 5 вольт (3А, но хватит и 2A):   
  • Кнопка (использовал самую большую):   
  • Резистор на 220 Ом:   
  • Разъем питания использовал такой:

Были использованы следующие инструменты:

  • Паяльник (пользуюсь таким давно, идеальный по соотношения цена/качество):   
  • 3D-принтер (закрытый корпус, можно печатать и PLA, и ABS без проблем): ,  
  • Инструмент для зачистки и обжима проводов (фирменный китайский LAOA): ,  

Сборка

Файлы для печати верхней и нижней части: lamp.zip.

При печати следует учесть, что, хоть размеры подгонялись под конкретный плафон, все же могут быть небольшие расхождения в размерах. Зависит от того, на каком 3D-принтере вы печатаете, с какими настройками и каким пластиком. Поэтому для плотного прилегания плафона к напечатанным частям может понадобится чуть подкорректировать размер моделей и перепечатать, либо применить изоленту/напильник.

Для лампы я использовал 4 куска светодиодной ленты по 10 светодиодов на каждом. У вас может быть другое количество светодиодов, в зависимости от типа ленты. Главное: лента должна быть именно адресная WS2812B.

После печати нижней части можно приступать к сборке. В модели предусмотрено гнездо для кнопки. Сажаем ее туда, приклеив на любой подходящий клей (я использовал клеевой пистолет). Предварительно нужно отломать 2 из 4 ножек, а 2 оставшиеся должны пропускать ток при нажатии (они расположены рядом). Просовываем их в отверстие сверху от углубления. И вставляем разъем питания.

Ну и наклеиваем куски ленты

Обратите внимание на то, что наклеивать их нужно одинаково, контактами DO вниз. Так как при использовании ленты она нагревается, я после всей остальной сборки закрепил ленту небольшими хомутами, через каждые 2 светодиода, чтобы она не отклеилась. Далее – спаиваем 4 части адресной ленты – контакты 5v, gnd и сигнальный

Как именно – подробно показано в видео на странице оригинального проекта. Если вы только учитесь паять – не следует бояться паять адресную ленту, паяется все она очень легко. Единственный совет – я использую жидкий флюс ЛТИ-120. Он в разы лучше, чем твердая канифоль. Наносить его удобнее всего кисточкой от лака для ногтей. Также он не является активным, поэтому после его применения не нужно очищать контакты

Далее – спаиваем 4 части адресной ленты – контакты 5v, gnd и сигнальный. Как именно – подробно показано в видео на странице оригинального проекта. Если вы только учитесь паять – не следует бояться паять адресную ленту, паяется все она очень легко. Единственный совет – я использую жидкий флюс ЛТИ-120. Он в разы лучше, чем твердая канифоль. Наносить его удобнее всего кисточкой от лака для ногтей. Также он не является активным, поэтому после его применения не нужно очищать контакты.

Вся остальная сборка делается по инструкции оригинального проекта, там все подробно показано, а также есть схема, что и как спаять. Разница только в использовании механической кнопки, припаять ее нужно к разъемам gnd (земле) и любому цифровому пину платы.

Код

Код был полностью взять с оригинального проекта. Единственное изменение, которое нужно сделать, это поменять тип используемой кнопки. Для этого в основном файле прошивки (на данный момент это gyverLight_v1.4.ino) меняем строчку 39:

на

В общем то и все.

Как подключить адресную ленту к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • лента WS2812B;
  • макетная плата;
  • 1 резистор от 100 до 500 Ом;
  • провода «папа-папа».

WS2812B светодиоды довольно энергоемкие, один светодиод потребляет до 60 мА при максимальной яркости. Для ленты со 100 диодами потребуется блок питания на 6 и более Ампер. Микроконтроллер Arduino и светодиодная лента могут быть подключены к разным источникам питания, но «земля» должна быть общая. Дело в том, что пин GND тоже участвует в управлении адресной лентой от платы Ардуино Уно.

Схема подключения адресной ленты 5 Вольт к Ардуино

WS2812B Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
5V 5V 5V 5V
DO 10 10 10

Для работы с лентой используются три популярные библиотеки — FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки доступны для скачивания на нашем сайте здесь. Работать с библиотеками FastLED и Adafruit NeoPixel просто, отличаются они в функциональности и объеме занимаемой памяти. После сборки этой простой схемы и установки библиотек, загрузите скетч для адресной светодиодной ленты.

Скетч. Тестирование адресной ленты WS2812

#include <Adafruit_NeoPixel.h> // подключаем библиотеку

#define PIN  10              // указываем пин для подключения ленты
#define NUMPIXELS 3  // указываем количество светодиодов в ленте

// создаем объект strip с нужными характеристиками
Adafruit_NeoPixel strip (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
   strip.begin();                     // инициализируем ленту
   strip.setBrightness(50);  // указываем яркость светодиодов (максимум 255)
}

void loop() {
   strip.setPixelColor(0, strip.Color(255, 0, 0));   // включаем красный цвет на 1 светодиоде
   strip.show();   // отправляем сигнал на ленту
   delay(500);
   strip.clear();   // выключаем все светодиоды

   strip.setPixelColor(1, strip.Color(0, 0, 255));   // включаем синий цвет на 2 светодиоде
   strip.show();   // отправляем сигнал на ленту
   delay(500);
   strip.clear();   // выключаем все светодиоды

   strip.setPixelColor(2, strip.Color(255, 255, 255));   // включаем белый цвет на 3 светодиоде
   strip.show();   // отправляем сигнал на ленту
   delay(500);
   strip.clear();   // выключаем все светодиоды

}

Пояснения к коду:

  1. нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».

Схема подключения адресной ленты 12 Вольт к Ардуино

Если у вас лента на 12 Вольт, то ее нужно подключать по схеме, размещенной выше. Резистор на цифровом пине защищает его от выгорания (если питание к ленте будет отключено, то она начнет питаться от цифрового пина, при этом пин может выгореть. Также не стоит подключать питание ленты к плате Ардуино, иначе может выгореть защитный диод на Ардуино или USB порт на компьютере (в худшем случае).

Скетч. Управление адресной лентой Ардуино

#include <Adafruit_NeoPixel.h> // подключаем библиотеку

#define PIN  10              // указываем пин для подключения ленты
#define NUMPIXELS 3  // указываем количество светодиодов в ленте

// создаем объект strip с нужными характеристиками
Adafruit_NeoPixel strip (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
   strip.begin();                     // инициализируем ленту
   strip.setBrightness(50);  // указываем яркость светодиодов (максимум 255)
}

void loop() {

   // поочередно включаем красный цвет
   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(255, 0, 0));
      strip.show();
      delay(100);
   }

   // поочередно включаем зеленый цвет
   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(0, 255, 0));
      strip.show();
      delay(100);
   }

   // поочередно включаем синий цвет
   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(0, 0, 255));
      strip.show();
      delay(100);
   }

}

Пояснения к коду:

  1. с помощью библиотеки Adafruit NeoPixel довольно просто управлять адресной лентой. В примерах к библиотеке можно найти много различных эффектов. Мы продемонстрировали простой вариант с циклом for для включения ленты.

Заключение. В этом обзоре мы рассмотрели лишь подключение и возможность управления адресной лентой от Ардуино. Так как возможности работы с библиотеками FastLED, AdafruitNeoPixel довольно разнообразны. Больше интересных примеров на Arduino и WS2812B размещено в разделе Проекты на Ардуино, где представлены проекты с бегущей строкой на адресной ленте и другие световые эффекты.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Электрик в доме
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: