Отличие лент ws2812, ws2812b, ws2811
Наиболее распространенные модели со встроенными микросхемами имеют маркировку WS2812 или WS2812b. С внешними – WS2811.
Чем модель ws2812 отличается
от ws2812b? Первые имеют 6
контактов (PIN) для управления, а вторые, с буковкой “b” –
всего четыре.
На 2812 питание светодиода и чипа разнесены. У 2812b питание
интегрированного драйвера и светодиода вынесено на один PIN (VDD).
А в чем главные отличия между ws2812b и ws2811?
ws2812b – работает от 5v
ws2811 – питание 12v (в 2015г прекращен выпуск последних моделей на 5в)
WS2812 управляет кластерами по одному
диоду, WS2811 управляет тремя светодиодами
одновременно.
Существенным недостатком диодов ws2812 является
то, что если в цепочке сгорит хотя бы один из них, то все дальнейшие
светодиоды, стоящие после него, тут же перестают работать.
Проверка блока питания
Проверка значительно облегчается, если рядом есть источник соответствующего напряжения.
Чтобы понять рабочая светодиодная лента или нет, достаточно подать на нее требуемые 12-24-36В. Даже паять провода при этом не надо.
Два проводника подсоединяете к выходным клеммам блока, а их кончиками просто прикасаетесь к крайним медными площадками в начале ленты. Если свечение равномерное и не тусклое, то все исправно.
А вот когда ничего не загорается, то нужно искать причину. Самый главный помощник в этом – мультиметр.
В первую очередь проверьте, а выходит ли с блока питания необходимое напряжение? Может быть все дело именно в нем.
Проверять нужно между контактами «+V» и «-V».
Либо «+V» и «COM».
Если напряжение в норме (+ — 10%), то ищите по цепочке дальше.
Если нет мультиметра, можно провести проверку по косвенным признакам. Однако полагаться на них все же не стоит:
после подачи напряжения 220В на блоке должен загореться зеленый светодиод
если прислушаться, то любой источник питания в рабочем состоянии должен издавать слабый характерный шум
Когда этого нет, то можно предположить, что блок не исправен. После чего, все равно придется искать прибор для замера выходного напряжения и подтверждения своих догадок.
Провода и разъемы
Цифровая лента на конце имеет минимум не два, а три провода.
V+ (5V или 12V)
V- (GND)
управляющий провод
Два из них — это обычное питание, а третий отвечает за направление сигнала. К проводам на концах уже готового к использованию изделия припаяны специальные разъемы:
DI (Digital Input) или цифровой вход в начале ленты
DO (Digital Output) цифровой выход
При наличии таких разъемов подключить ленту неправильной стороной у вас не получится. Второй конец DO требуется при наращивании длины световой конструкции.
Ошибка №4
А вот без таких разъемов начало и конец ленты можно и перепутать.
В этом случае ничего гореть и светиться у вас не будет.
Ошибка №5
Слишком длинные провода питания от контроллера.
Если у вас наблюдается ситуация, при которой лента не загорается, пока вы не коснетесь и не проведете рукой по питающим проводам, то скорее всего они слишком длинные и управляющий провод подвержен помехам.
В этом случае попробуйте их скрутить косичкой. В некоторых ситуациях помогает.
Мигание светодиодами NeoPixel в ленте
В этом примере мы установим мигающий режим светодиодов в ленте NeoPixel – для этого все светодиоды должны включаться и выключаться одновременно, при этом цвет светодиодов может быть различный.
Arduino
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUMPIXELS 7
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void NeoBlink(int num, int wait)
{
for (int i = 0; i < num; i++)
{
pixels.setPixelColor(i, 35, 35, 35);
}
pixels.show();
delay(wait);
for (int j = 0; j < num; j++)
{
pixels.setPixelColor(j, 0, 255, 0);
}
pixels.show();
delay(wait);
}
void setup()
{
pixels.begin();
pixels.setBrightness(50);
}
void loop()
{
NeoBlink(7, 500);
}
1 | #include <Adafruit_NeoPixel.h> Adafruit_NeoPixelpixels(NUMPIXELS,PIN,NEO_GRB+NEO_KHZ800); voidNeoBlink(intnum,intwait) { for(inti=;i<num;i++) { pixels.setPixelColor(i,35,35,35); } pixels.show(); delay(wait); for(intj=;j<num;j++) { pixels.setPixelColor(j,,255,); } pixels.show(); delay(wait); } voidsetup() { pixels.begin(); pixels.setBrightness(50); } voidloop() { NeoBlink(7,500); } |
Как подобрать контроллер для светодиодной ленты?
Итак, мы убедились в значимости контроллера, поэтому пришло время определиться с лучшим вариантом. Ни один эксперт с ходу не сможет дать ответ, если вы спросите, какое устройство вам подойдет. Каждый прибор подбирается для конкретного случая, учитывая все индивидуальные желания и потребности. Чтобы определиться с выбором, вам нужно выделить для себя оптимальные параметры и функции, которыми должен обладать будущий контроллер.
Признаки, по которым можно различить контроллер для светодиодной ленты:
- Тип управления;
- Сенсорные или кнопочные;
- Выходная мощность;
- Прошивка программы.
Все возможные схемы подключения контроллера для управления светодиодной ленты известные на данный момент.
Типы управления контроллерами
- Без пульта дистанционного управления.
Это самый простой в управлении прибор небольших размеров. Настройка параметров проводится всего один раз, входе которой устанавливается режим работы всей ленты: задается цвет, интенсивность свечения и динамика переливания. Такой вариант подойдет в тех случаях, когда нет нужды в частой регулировке светодиодной ленты.
- Инфракрасный пульт управления.
Контроллер буквально на ходу регулируется с помощью ИК-пульта дистанционного управления. Пульт действует в пределах 10 метров при условии, что инфракрасный датчик не перегораживается посторонними предметами. В некоторых моделях имеется огромное количество функций. Их возможностями можно управлять каждым светодиодом по отдельности. ИК-комплекты обычно дешевле аналогов. Если пульт вышел из строя либо потерян, его можно заменить, купив точно такой же в ближайшем магазине электротехники.
- Радиопульт.
Управлять светодиодной лентой можно на расстоянии до сотни метров. Устройство получит сигнал даже через стены и преграды на пути к пульту, так как в этом случае не используется инфракрасный луч.
- Wi-Fi.
Перечень доступных функций такой же, как у моделей с радио- и ИК-пультом. Различия заключаются лишь в том, что управление производится со смартфона, планшета или персонального компьютера. Также существуют приборы с вмонтированным модулем Wi-Fi или регулируемые с определенного маршрутизатора, контролирующего одновременно несколько светодиодных лент. В специальном приложении на iOS или Android можно настроить каждый диод, установить ему собственный оттенок и определить скорость переливания.
- Звуковой.
Процесс работы проходит в полуавтоматическом режиме. Контроллер реагирует на внешние звуки. Включать или выключать светодиоды можно различными звуками, установленными при первоначальной настройке, например, хлопок, щелчок и подобное. Если определенным образом настроить контроллер, лента может динамически реагировать на музыку, повторяя ее ритм и темп.
Сенсорные или кнопочные
Сенсорные пульты обладают сенсорным кольцом, с помощью которого выбирается необходимый режим и оттенок освещения. Они отличаются высокой стоимостью, однако в современном мире это самый удобный вариант управления.
Кнопочные пульты являются самым популярным вариантом на современном рынке. Программа динамики светодиодов назначается определенной кнопкой. Товар отличается простотой эксплуатации и относительно низкой ценой.
Разделение регуляторов по системе программирования
После покупки устройства можно выбрать определенную программу изменения оттенков, интенсивности и скорости переливания. В некоторых моделях доступна функция самостоятельной настройки светодиодной ленты.
Протокол
Теперь, когда мы разобрались, как подключить нашу ленту к Arduino, нам надо понять, как ею управлять, для этого в даташите есть описание протокола, который мы сейчас и рассмотрим. Каждый светодиод WS2812B имеет один вход (DIN) и один выход (DO). Выход каждого светодиода подключается ко входу следующего. Подавать сигналы же надо на вход самого первого светодиода, таким образом, он запустит цепь, и данные будут поступать от первого ко второму, от второго к третьему и т. д. Команды светодиодам передаются пачками по 24 бита (3 байта, один байт на каждый цвет, первым передается байт для зеленого, потом для красного, и заканчивает байт для синего светодиода.
Вывеска из светодиодной ленты.
Порядок бит – от старшего к младшему). Перед каждой пачкой идет пауза в 50 мкс. Пауза больше 100 мкс воспринимается как окончание передачи. Все биты, будь то 0 или 1, имеют фиксированное время 1.25 мкс. Бит 1 кодируется импульсом в 0.8 мкс, после чего идет пауза в 0.45 мкс. Бит 0 кодируется импульсом в 0.4 мкс, после чего идет пауза в 0.85 мкс. Собственно, наглядная диаграмма на фото ниже. Так же допускаются небольшие погрешности в 0-150 нс на каждый фронт. Ну и следует учесть, что подобное необходимо повторить для каждого светодиода на ленте, после чего сделать паузу минимум в 100 мкс. Потом можно повторить передачу.
Глядя на все эти цифры, становится ясно, что сделать все это, используя стандартные функции digitalWrite, delay и тому подобные – попросту невозможно, ввиду их долгой работы и неточности. Реализовать подобный протокол можно только использовав специальные библиотеки вроде CyberLib или написав собственную на чистом Си или, того хуже для нынешнего программиста, на Ассемблере. Но не все так плохо, как кажется. Светодиоды WS2812B довольно таки популярны в Arduino сообществе, а это значит, что нам не придётся вдаваться в такие сложности, и достаточно выбрать одно из понравившихся решений.
Будет интересно Маркировка SMD транзисторов
Лампа на светодиодной ленте с красивыми эффектами
Сразу скажу, что проект не мой, а является немного доработанной версией лампы от 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 (земле) и любому цифровому пину платы.
Программная часть
Код и библиотеки можно скачать здесь.
SUP_v1.0Скачать
Распаковываем архив, копируем библиотеки из папки lib в папку C:\Program Files (x86)\Arduino\libraries.
После чего открываем файл SUP_V1.0.ino и видим настройки:
Далее подключаем ардуино к компьютеру и заливаем код. После сообщения «загрузка завершена» можно проверять работоспособность устройства.
Короткие клики по кнопке меняют цвет ленты согласно прописанному массиву цветов, длинные нажатия увеличивают или снижают яркость поочерёдно.
Яркость регулируется для двух режимов, сработавшего датчика движения и без его срабатывания. Регулировка для каждого режима производится в том состоянии датчика в котором вы хотите отрегулировать яркость.
Это был домашний вариант подсветки, а теперь покажу вам автомобильный:
Принцип работы
В простой 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. С помощью записи в него различных программ можно получить не ограниченное количество цветовых сочетаний и чередований. Что позволяет создать неограниченное количество вариантов для подсветки. Широкое распространение ограничивается относительно высокой стоимостью в отличие от обычных диодов.
Как рассчитать количество адресов для ленты DMX 512
DMX (RGB)
• 1 пиксель = 3 канала DMX (RGBW) • 1 пиксель = 4 канала DMX (RGBW)
Имея разную плотность светодиодов на ленте и разную длину, вы можете умножить все это вместе и получить различные результаты.
Например:
• (8PL30) 30 светодиодов RGB / м ленты x 5 метровой катушки = 150 пикселей (150 пикселей х 3) = 450 каналов • (8PL60) 60 светодиодов RGB / м ленты x 5 метровой бобины = 300 пикселей (300 пикселей х 3) = 900 каналов • (8PL144) 144 светодиода RGB / м ленты x 2 метра = 288 пикселей (288 пикселей x 3) = 864 канала • (8PX30) 30 светодиодов RGBW / м ленты 5 м = 150 пикселей (150 пикселей x 4) ) = 600 каналов • (8PX60) 60 светодиодов RGBW / м лента x 4-метровая катушка = 240 пикселей (240 пикселей x 4) = 960 каналов
Удобно запомнить:
• 170 пикселей RGB = 510 каналов DMX = 1 вселенная DMX • 128 пикселей RGBW = 512 каналов DMX = 1 вселенная DMX
Готовые наборы для подсветки потолков
Соберем подсветку персонально под ваш потолок. Качественно!
Доставим до двери в любой город России.
Подробнее >>
Чтобы управлять цветом RGB ленты нужно установить контроллер, который устанавливается между блоком питания и RGB лентой. Также в отличие от одноцветной ленты RGB лента имеет вместо двух проводов коммутации, четыре провода.
Три провода необходимы для управления яркостью красного, зеленого и синего цвета, плюс общий четвертый провод питания. Контроллеры бывают разные по внешнему виду, они могут отличаться по мощности, размеру, способу управления ими (пульт дистанционного управления, кнопки, мобильный телефон, другой контроллер).
Нужно понимать, что у разных контроллеров и разные возможности, одни простые и имеют небольшой набор функций (в большинстве случаев их хватает для интерьерной подсветки), а другие имеют “навороченные функции”, в которых есть потребность разве что в шоу бизнесе, для подсветки сцен. Например, в некоторых контроллерах есть функция дежурной подсветки типа “ночник”, а в некоторых нет такой функции.
Схема подключения RGB-контроллера для светодиодной ленты
Какой бы контроллер вы не выбрали для подсветки, он всегда подключается по одной и той же схеме. Питание контроллера осуществляется через разъем “V+” и “V-”.
На блоке питание тоже есть обозначения “V+” и “V-”. Для подключения контроллера к блоку питания Вам нужно соединить проводом “V+” контроллера с “V+” блока питания и “V-” контроллера с “V-” блока питания. RGB ленту подключают к разъемам контроллера, которые обозначены следующим образом:
- R (red)-управление красным цветом
- G (green)-управление зеленым цветом
- B (blue)-управление синим цветом
- “V+” общий провод. Будьте внимательно не перепутайте , цвета RGB ленты и цвета RGB контроллера.
Если вы перепутаете, то контроллер будет неправильно работать , например, вы нажмете на пульте дистанционного управления кнопку, чтобы зажечь красный цвет, а зажжется, например, зеленый.
Практические способы включения адресной светодиодной ленты, правила подключения, частые ошибки.
- Подключайте к адресной светодиодной ленте (между линиями питания) конденсатор, вплоть до 1000 мкФ
- В разрыв линии данных (от Контроллера к адресной светодиодной ленте) добавляйте резистор 300 — 500 Ом, устанавливая его ближе к ленте.
- Кабельная линия данных от контроллера до адресной светодиодной ленты, требуется делать как можно коротким.
- При подключении адресной светодиодной ленты, подключайте «землю» первой (отключайте последней).
- Не допускайте разрядов статического электричества при монтаже адресной светодиодной ленты.
- Используйте преобразователь уровня, если адресная светодиодная лента и устройство управления подключены от источников питания с разным напряжением.
- Максимальный ток каждого пикселя составляет 60мА (при полной яркости белого цвета). Если Вы не планируете использовать ленту WS2812B как источник света (для этого лучше взять обычную светодиодную ленту с белыми светодиодами), принято считать, что, усреднено, каждый пиксель потребляет 20мА.
минимальный ток Драйвера = 20мА*количество_пикселей. максимальный ток Драйвера = 60мА*количество_пикселей
Из последнего пункта вытекает следующее: если лента соединена последовательно более 5 м., то недопустимо подавать на нее питание только с одной стороны. Для того чтобы исключить перегревания токопроводящих дорожек ленты. Напряжение на адресной светодиодной ленте необходимо распределить по всей ее длине как можно равномернее. Подводите питание в нескольких местах отдельными кабельными линиями.
Что такое адресная светодиодная лента?
В первую очередь давайте рассмотрим, что вообще такое цифровая Led лента, как она устроена и как работает? По-другому ее еще называют адресной, умной или лентой “бегущий огонь”.
Главное отличие от обычных изделий заключается в присутствии на плате микросхем. Причем они могут быть как встроенными в сам светодиод.
Так и внешними.
Они позволяют управлять режимами работы каждого сегмента по отдельности. Таким образом можно напрямую запускать и отключать свечение любого светодиода или пикселя.
В данном случае пикселем называют ячейку из одного или нескольких светодиодов сразу (обычно по 3 штуки).
Вы сможете управлять как яркостью, так и цветом любого диода в ленте и при этом создавать совершенно потрясающие световые эффекты:
для автомобиля
для аквариума
на фасаде дома
на ёлке
Многообразие вариантов будет зависеть только от вашей фантазии.
Где купить?
На фото ниже изображена WS2812B, которую я купил для себя. Ее длина составляет 5 метров, а светодиоды спрятаны за водонепроницаемым силиконом. То есть ее можно спокойно оставить там, где может быть дождливо или даже пыльно.
На мой взгляд, это самый лучший тип светодиодных лент. Вы можете управлять яркостью и цветом каждого светодиода по отдельности, что позволяет делать сложные и очень красивые эффекты.
Светодиоды в ленте WS2812B подключены друг к другу последовательно. Кроме того, каждый светодиод оснащен собственным чипом, что позволяет управлять лентой через 1-проводной интерфейс. Это значит, что вы можете управлять всеми светодиодами на ленте, используя лишь один цифровой контакт Arduino.
На фото ниже показан чип, которым оснащен каждый светодиод. Кроме того, каждый светодиод – это RGB-светодиод.
Светодиодные ленты такого типа – очень гибкие. Их даже можно разрезать, чтобы получить куски нужной длины. На рисунке ниже видно, что лента состоит из сегментов, и каждый сегмент состоит из одного RGB-светодиода.
Разрез нужно делать в специальном месте, которое помечено черной полоской.
На каждом конце полосы находится коннектор. Я решил отрезать коннекторы и припаять вместо них гребешковые контакты. Так удобней, если вы хотите подключить светодиодную полосу к Arduino или макетной плате.
Светодиодная лента Ардуино – написание кода.
Подключите плату Arduino к компьютеру через USB и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный для вашей платы, в меню «Сервис»> «Сервис и инструменты»> «Порт». Откройте новый эскиз и сохраните его с соответствующим именем. Этот эскиз затухает с одноцветными огнями, держит их в таком состоянии в течение нескольких секунд, а затем исчезает, пока они не погаснут снова.
Вы можете сделать эскиз самостоятельно или просто загрузить готовый код из GitHub (https://gist.github.com/anonymous/d4fa3719478c3c5a9c321cc372e9540).
Начните с определения штырей, которые будут использоваться для управления МОП-транзисторами.
#define RED_LED 6 #define BLUE_LED 5 #define GREEN_LED 9
Затем вам понадобятся переменные. Создайте общую переменную яркости вместе с переменной для яркости каждого цвета. Мы будем использовать только основную переменную яркости для выключения светодиодов, поэтому установите здесь максимальное значение 255. Вам также потребуется создать переменную, чтобы контролировать скорость замирания.
int brightness = 255; int gBright = 0; int rBright = 0; int bBright = 0; int fadeSpeed = 10;
В вашей настройке мы установим выводы Arduino. Мы также будем вызывать пару функций с задержкой в 5 секунд. Этих функций еще не существует, но не беспокойтесь, мы доберемся до них.
void setup() { pinMode(GREEN_LED, OUTPUT); pinMode(RED_LED, OUTPUT); pinMode(BLUE_LED, OUTPUT);
TurnOn(); delay(5000); TurnOff(); } Теперь создайте метод TurnOn (): void TurnOn() { for (int i = 0; i < 256; i++) { analogWrite(RED_LED, rBright); rBright +=1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(BLUE_LED, bBright); bBright += 1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(GREEN_LED, gBright); gBright +=1; delay(fadeSpeed); } }
Эти три цикла for полностью увеличивают яркость каждого цвета за время, указанное значением fadeSpeed. Наконец, вам нужно создать метод TurnOff (): void TurnOff() { for (int i = 0; i < 256; i++) { analogWrite(GREEN_LED, brightness); analogWrite(RED_LED, brightness); analogWrite(BLUE_LED, brightness); brightness -= 1; delay(fadeSpeed); }}void loop() {} Этот метод применяет нашу переменную яркости ко всем трем цветным выводам и уменьшает их до нуля в течение определенного периода времени. Нам также нужен метод пустого цикла, чтобы избежать ошибок компиляции.
Закончив этот код, сохраните его. Проверьте код и загрузите на плату Arduino. Если вы видите ошибки, проверьте код снова на предмет каких-либо опечаток или отсутствующих точек с запятой.
Плавное включение светодиодной ленты на Ардуино
Теперь вы должны увидеть, что ваша светодиодная лента Ардуино наращивает яркость, удерживая белый оттенок в течение 5 секунд, а затем равномерно исчезает до нуля:
Если у вас возникли трудности, дважды проверьте свою проводку и код.
Ардуино и адресная светодиодная лента
Этот проект – простой способ начать работу, но идеи, которые он охватывает, могут быть расширены для действительно эффектного освещения. С помощью всего лишь нескольких компонентов вы можете создать свой собственный восход солнца. Если у вас есть стартовый комплект с 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 для начинающих.