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

УПРАВЛЕНИЕ С ARDUINO

Для управления лентой можно выделить три библиотеки: FastLED, Adafruit NeoPixel и LightWS2812, из всех трёх рекомендую FastLED. Ниже привожу пример кода, который сначала показывает 3 цвета ленты на одном куске, плавно включая диоды. А потом ещё 3 цвета. Ну и ещё что-то, смотрите скетч.

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

Признаки и симптомы ВПЧ 45 у женщин

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

Папилломавирус 45 не имеет характерных признаков, но заподозрить инфекцию можно по следующим симптомам:

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

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

Принцип работы

В простой RGB-ленте обычно устанавливаются RGB-светодиоды типа 5050, которые состоят фактически из трёх кристаллов (красного, зелёного и синего) расположенных в одном корпусе.

В адресной ленте также используются светодиоды в корпусе 5050, но отличающимся тем, что у них 4, а не 6 выводов. В самом же корпусе расположены светоизлучающие кристаллы и микрочип, управляющий их свечением, на иллюстрации на него указывает красная стрелка.

По питанию все светодиоды в ленте соединены параллельно, а линии управления соединяются последовательно. Распиновка адресной ленты следующая: контакты +5V и GND отвечают за питание, контакт DO – выход управляющего сигнала, а DI – вход.

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

Наиболее распространены две модели с разными контроллерами, это ws2812b и ws2811. Главное их отличие в том, что изделия с чипами ws2811 питаются от 12 Вольт, а сам чип находится не внутри светодиода, а отдельно и управляет сегментом из трёх светодиодов. Так в моделях с ws2811 возможно управление не каждым светодиодом, а каждым сегментом из 3 светодиодов сразу, что несколько ограничивает применение.

Принцип управления не слишком сложный:

  • Сигнал управления посылается на ленту небольшими «пачками» цифровых импульсов длиной в 24 бита. Контроллер принимает этот сигнал и выдаёт на светодиоды определенное напряжение для получения нужного цвета.
  • Напомню, что в случае с WS2812b контроллер встроен в светодиод и управляющий сигнал управляет каждым светодиодом отдельно, а в случае с WS2811 контроллер общий для сегмента из трёх светодиодов. То есть возможно задать параметры свечения для каждого отдельного сегмента.
  • При этом первый контроллер принимает первую пачку из 24-бит, вторая 24-битная команда принимается вторым чипом и так далее. Каждая последующая 24-битная команда посылается на каждый следующий контроллер, нумерация пачек при этом совпадает с нумерацией контроллеров.
  • Таким образом, управляют индивидуально каждым контроллером. Если один из блоков неисправен, например, второй, то горит только первый светодиод. Остальные светиться не будут, так как не будет проходить управляющий сигнал.

При создании уникальных эффектов используют не готовые контроллеры, а различные микроконтроллеры. К тому же в сети много проектов под управлением Arduino (микроконтроллеры семейства AVR). Схема подключения к ней элементарна, на примере с контроллерами WS2812b изображена ниже.

Но желательно подавать сигал управления через резистор номиналом в 200-400 Ом, для защиты пина Ардуино.

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

Основы программного управления WS2812B

Уже упоминалось, что для управления микросхемами WS2812B надо сформировать импульсы с определенной длиной, выдерживая высокую точность. В языке Ардуино для формирования коротких импульсов есть команды delayMicroseconds и micros. Проблема в том, что разрешение этих команд составляет 4 микросекунды. То есть, сформировать временные задержки с заданной точностью не получится. Надо переходить к средствам С++ или Ассемблера. А можно организовать управление адресной светодиодной лентой через Arduino с помощью специально созданных для этого библиотек. Начать знакомство можно с программы Blink, заставляющей светоизлучающие элементы мигать.

FastLed

Эта библиотека универсальна. Помимо адресной ленты она поддерживает множество устройств, включая ленты с управлением по интерфейсу SPI. Обладает широкими возможностями.

Сначала библиотеку надо подключить. Это делается до блока setup, а строка выглядит так:

#include <FastLED.h>

Следующим шагом надо создать массив для хранения цветов каждого светоизлучающего диода. Он будет иметь наименование strip и размерность 15 – по числу элементов (этому параметру лучше назначить константу).

CRGB strip

В блоке setup надо указать, с какой лентой будет работать скетч:

void setup() {

FastLED.addLeds< WS2812B, 7, RGB>(strip, 15);

int g;

}

Параметр RGB устанавливает порядок чередования цветов, 15 означает количество светодиодов, 7 – номер вывода, назначенного для управления (последнему параметру тоже лучше назначить константу).

Блок loop начинается с цикла, который последовательно записывает в каждый раздел массива Red (красное свечение):

for (g=0; g< 15;g++)

{strip=CRGB::Red;}

Далее сформированный массив отправляется в светильник:

FastLED.show();

Задержка 1000 миллисекунд (секунда):

delay(1000);

Затем можно таким же способом выключить все элементы, записав в них черный цвет.

for (int g=0; g< 15;g++)

{strip=CRGB::Black;}

FastLED.show();

delay(1000);


Скетч для мигающей ленты на основе FastLed.

После компиляции и загрузки скетча лента будет мигать с периодом в 2 секунды. Если надо управлять каждой цветовой составляющей раздельно, то вместо строки {strip=CRGB::Red;} используется несколько строк:

{

strip.r=100;// устанавливается уровень свечения красного элемента

strip.g=11;// то же для зеленого

strip.b=250;// то же для синего

}

NeoPixel

Эта библиотека работает только с LED-кольцами NeoPixel Ring, но она менее ресурсоемка и содержит только самое необходимое. На языке Ардуино программа выглядит так:

#include <Adafruit_NeoPixel.h>

Как и в предыдущем случае подключается библиотека, и декларируется объект lenta:

Adafruit_NeoPixel lenta=Adafruit_NeoPixel(15, 6);// где 15 – количество элементов, а 6 – назначенный вывод

В блоке setup инициализируется лента:

void setup() {

lenta.begin ()

}

В блоке loop все элементы засвечиваются красным, переменная передается в ленту и создается задержка в 1 секунду:

for (int y=0; у<15;y++)// 15 – количество элементов в светильнике

{lenta.setPixelColor(y, lenta.Color(255,0,0))};

lenta.show();

delay(1000);

Прекращается свечение записью черного цвета:

for (int y=0; y< 15;y++)

{ lenta.setPixelColor(y, lenta.Color(0,0,0))};

lenta.show();

delay(1000);


Скетч для программы Blink на основе NeoPixel.

Видео-урок: Образцы визуальных эффектов с использованием адресных лент.

Научившись мигать светодиодами, можно продолжить занятия и научиться создавать цветовые эффекты, включая популярные «Радуга» и «Северное сияние» с плавными переходами. Адресные светодиоды WS2812B и Ардуино дают для этого практически безграничные возможности.

Светодиодная лента Ардуино – Подключение

Чтобы подключить 12v светодиодную ленту к Arduino, вам понадобится несколько компонентов:
● 12v RGB светодиодная лента(SMD5050);
● 1 x Arduino Uno (любая совместимая плата подойдет);
● 3 x 10 кОм резисторов;
● 3 x логических уровня N-канальных МОП-транзисторов (MOSFET);
● 1 х макет;
● Монтажные провода;
● Блок питания на 12 В.

Подключение адресной светодиодной ленты к Ардуино

Всякий раз, когда вы управляете прибором с более высоким напряжением, чем у вашего микроконтроллера, вам нужно установить что-нибудь между ними, чтобы избежать поломки или даже возгорания. Один из простых способов сделать это – использовать MOSFET. Передавая сигналы широтно-импульсной модуляции (ШИМ), вы можете контролировать количество энергии, проходящее между стоками и источником. Пропустив каждый из цветов светодиодной полосы через МОП-транзисторы, вы можете регулировать яркость каждого цвета на светодиодной ленте.
При использовании микроконтроллеров не забывайте о компонентах логического уровня для обеспечения стабильной работы. Убедитесь, что ваши МОП-транзисторы являются логическим уровнем, а не стандартным.

Настройте свою схему следующим образом:

1. Подключите контакты Arduino 9, 6 и 5 к концам затвора трех МОП-транзисторов и подключите резистор 10 кОм в соответствии с заземлением.
2. Подключите ножки источника к заземлению.
3. Подключите дренажные опоры к разъемам Green, Red и Blue на светодиодной ленте.
4

Подключите шину питания к разъему +12v светодиодной полосы (обратите внимание, что на изображении выше провод питания черный, чтобы соответствовать цветам разъемов на моей светодиодной полосе).
5. Подключите заземление Arduino.
6

Подключите стабилизатор питания 12 В в сеть.
Большинство светодиодных полосок имеет разъемы Dupont, к которым легко подключиться. Если у вас нет таких, вам понадобится припаять провода к диодной ленте. Не паникуйте, если вы новичок в пайке — это легкая работа. В интернете есть множество руководств по началу работы с паяльником, с которыми можно ознакомиться, если пайка доставляет вам трудности.
Для этого проекта мы будем управлять нашей платой Arduino по USB . Вы можете выбрать питание платы с помощью вывода VIN, но перед этим убедитесь, что вы знаете ограничения мощности для своего устройства.

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

Arduino и светодиодная лента

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

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

  • Управление освещением. С помощью датчика освещения включается свет в комнате как сразу, так и с постепенным нарастанием яркости по мере захода солнца. Включение может также производиться через wi-fi, с интеграцией в систему «умный дом» или соединением по телефону.
  • Включение света на лестнице или в длинном коридоре. Очень красиво смотрится диодная подсветка каждой ступеньки в отдельность. При подключении к плате датчика движения, его срабатывание вызовет последовательное, с задержкой времени включение подсветки ступеней или коридора, а отключение этого элемента приведет к обратному процессу.
  • Цветомузыка. Подав на аналоговые входы звуковой сигнал через фильтры, на выходе получится цветомузыкальная установка.
  • Моддинг компьютера. С помощью соответствующих датчиков и программ цвет светодиодов может зависеть от температуры или загрузки процессора или оперативной памяти. Работает такое устройство по протоколу dmx 512.
  • Управление скоростью бегущих огней при помощи энкодера. Подобные установки собираются на микросхемах WS 2811, WS 2812 и WS 2812B.
  • https://lightru.pro/svetodiodnaya-lenta-arduino/
  • https://svetodiodinfo.ru/texnicheskie-momenty/upravlenie-svetodiodnoj-lentoj-arduino.html
  • https://lampaexpert.ru/svetodiodnaya-lenta/podklyuchenie-i-upravlenie-arduino

Принцип работы транзистора для плавного управления светодиодной лентой

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

Подключив транзистор к аналоговому порту Ардуино, присваиваем ему значение от 0 до 255, изменяем напряжение, подаваемое на коллектор либо сток от 0 до 5В. Через цепочку коллектор-эмиттер будет проходить от 0 до 100% опорного напряжения нагрузки.

Для управления светодиодной лентой arduino необходимо подобрать транзистор подходящей мощности. Рабочий ток для питания метра светодиодов 300-500мА, для этих целей подойдет силовой биполярный транзистор. Для большей длины потребуется полевой транзистор.

Схема подключения LED ленты к ардуино:

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

Адресная светодиодная лент 1m/4m/5m WS2812B 30/60/144 pixels,IP30/IP65/IP67 DC5V

Светодиодная лента DC5V WS2812B 1m/4m/5m 30/60/74/96/144 pixels/leds/m от надежного поставщика

Адресная светодиодная лента DC5V 1m/4m/5m WS2812B

Как работает адресная светодиодная лента

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

Маркировка адресной ленты:

Black PCB / White PCB – цвета подложки;

  • 1м/5 м – длина адресной ленты;
  • 30/60/74 и т.д. – сколько светодиодов приходится на 1 метр ленты;
  • IP30, IP65, IP67 – степень влаго- и пылезащищенности ленты =. 

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

Видео инструкции и ролики

Обучающее видео на канале HomeMade:

Видео по созданию бегущей строки на базе ленты ws2112

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

Сразу скажу, что проект не мой, а является немного доработанной версией лампы от 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 (земле) и любому цифровому пину платы.

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

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

Теперь, когда мы рассмотрели схему с обычной светодиодной лентой, перейдем к адресным светодиодным лентам  SPI RGB лента.

Светодиодная лента Ардуино – Яркие идеи.

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

Вам понадобится:

● Светодиодная лента 5v WS2811/12/12B; Все три модели имеют встроенные микросхемы и работают одинаково.

● 1 x Arduino Uno или аналогичная совместимая плата;

● 1 x резистор 220-440 Ом;

● 1 x конденсатор microFarad 100-1000 (все, что между этими двумя значениями, отлично подойдет);

● Макет и монтажные провода;

● Блок питания 5 В.

Настройте схему, как показано на рисунке:

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

На этот раз мы задействуем Arduino, используя источник питания 5 В. Это позволит устройству работать автономно

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

Во-первых, убедитесь, что ваша плата может работать с 5 В, прежде чем присоединить ее к источнику питания. Почти все платы работают на 5V через USB-порт, но штыри питания на некоторых могут иногда пропускать регуляторы напряжения и превращать их в поджаренные тосты.

Кроме того, рекомендуется убедиться, что несколько отдельных источников питания не подключены к Arduino – отсоединяйте USB-кабель всякий раз, когда используете внешний источник питания.

Светодиодная лента Ардуино – Бегущий огонь или световая волна

Чтобы безопасно запрограммировать нашу плату, отсоедините линию VIN от линии электропередач. Вы подключите ее позже обратно.

Присоедините свой Arduino к компьютеру и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный в меню «Сервис»> «Сервис и инструменты»> «Порт».

Мы будем использовать библиотеку FastLED для тестирования нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена в среду IDE.

В разделе «Файл»> «Примеры»> «FastLED» выберите эскиз DemoReel100. В этом эскизе задействованы различные эффекты, которые можно сделать с помощью светодиодных полос WS2812, и невероятно легко настроить.

Все, что вам нужно изменить, — это переменная DATA_PIN, чтобы она соответствовала значку 13 и переменной NUM_LEDS для определения количества светодиодов, находящихся в полосе, которую вы используете. В этом случае я применяю только небольшую линию из 10 светодиодов, вырезанных из более длинной полосы.

Используйте большее количество для красивейшего светового шоу!

Загрузите эскиз на свою плату, отсоедините USB-кабель и включите источник питания 5 В.

Наконец, подключите VIN Arduino к линии электропередач и наслаждайтесь представлением.

Светодиодная лента Ардуино – Безграничные возможности

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

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

Правильная покупка светодиодной ленты на AliExpress.

Что еще можно сказать по сечению проводов? Например, лента 2812 на один диод потребляет порядка 60мА. При длине подсветки в 5 метров ток составит 18 Ампер!

По всем расчетным таблицам для такого тока требуются провода сечением 2,0-2,5мм2. Даже на самой ленте медные дорожки такого сечения не обеспечивают.

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

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

Но как это проверить, не покупая изделие? Элементарно – запросите информацию по весу ленты. После этого сравните одинаковые модели от разных производителей.

Так например, у ленты длиной 5м (60 светодиодов на метр) при весе менее 100гр просадки напряжения начинаются уже через 1,5 метра!

Объясняется это очень тонкими медными дорожками или некачественной медью в них.

Поделитесь в социальных сетях:FacebookX
Напишите комментарий