/

Управление светодиодной лентой ардуино

УПРАВЛЯЕМ RGB СВЕТОМ С ARDUINO

RGB светодиод или лента – очень крутая штука, ведь используя даже 8-ми битный ШИМ (0-255) мы можем получить 16.7 миллионов цветов и оттенков! Рассмотрим подключение светодиодов и лент к Arduino.

Светодиоды

Светодиоды можно питать от пинов Arduino, естественно через токоограничивающий резистор на 150-300 Ом (больше – меньше яркость). Для плавного управления яркостью каждого канала подключать нужно к ШИМ пинам (D3, D5, D6, D9, D10, D11 на Arduino Nano/UNO/Pro Mini). Светодиод с общим катодом подключается общей ногой на GND, с общим анодом – на VCC (т.е. на 5V).

Светодиодные ленты через драйвер

RGB светодиодные ленты обычно имеют общий анод, т.е. общий канал 12 Вольт.

Для управления цветом можно использовать так называемый LED amplifier (бывает RGB и RGBW). Купить на Aliexpress

Светодиодные ленты через транзисторы

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

Какие транзисторы? Вот мой список транзисторов в корпусах to220: IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF, IRL3502PBF, IRL2505PBF, IRF3711PBF, IRL3713PBF, IRF3709ZPBF, AUIRL3705N, IRLB3034PBF, IRF3711ZPBF

В корпусах D-PAK: IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF

Также можно распаять платку

БИБЛИОТЕКА GYVERRGB

GyverRGB v1.16

Мощная библиотека для удобного управления RGB светодиодами и лентами для Arduino

  • 1530 значений для colorWheel
  • Работа в пространстве RGB
  • Работа в пространстве HSV
  • Установка цвета в формате HEX
  • Установка цветовой температуры
  • 16 предустановленных цветов
  • Настройка полярности ШИМ
  • Функция плавной смены цвета
  • Ограничение тока (по расчёту)
  • Регулировка общей яркости
  • Поддержание яркости LED ленты по мере разряда АКБ
  • Возможность управления 6-ю RGB диодами/лентами с одной Arduino (встроенный генератор ШИМ на ВСЕХ 20 пинах atmega328)
  • Режим с настройкой частоты ШИМ
  • Матрица коррекции LUT
  • Коррекция по минимальному сигналу ШИМ
  • CRT гамма-коррекция яркости

Поддерживаемые платформы: все Arduino (используются стандартные Wiring-функции)

УПРАВЛЯЕМ RGB СВЕТОМ С ARDUINO

RGB светодиод или лента – очень крутая штука, ведь используя даже 8-ми битный ШИМ (0-255) мы можем получить 16.7 миллионов цветов и оттенков! Рассмотрим подключение светодиодов и лент к Arduino.

Светодиоды

Светодиоды можно питать от пинов Arduino, естественно через токоограничивающий резистор на 150-300 Ом (больше – меньше яркость). Для плавного управления яркостью каждого канала подключать нужно к ШИМ пинам (D3, D5, D6, D9, D10, D11 на Arduino Nano/UNO/Pro Mini). Светодиод с общим катодом подключается общей ногой на GND, с общим анодом – на VCC (т.е. на 5V).

Светодиодные ленты через драйвер

RGB светодиодные ленты обычно имеют общий анод, т.е. общий канал 12 Вольт.

Для управления цветом можно использовать так называемый LED amplifier (бывает RGB и RGBW). Купить на Aliexpress

Светодиодные ленты через транзисторы

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

Какие транзисторы? Вот мой список транзисторов в корпусах to220: IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF, IRL3502PBF, IRL2505PBF, IRF3711PBF, IRL3713PBF, IRF3709ZPBF, AUIRL3705N, IRLB3034PBF, IRF3711ZPBF

В корпусах D-PAK: IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF

Также можно распаять платку

БИБЛИОТЕКА GYVERRGB

GyverRGB v1.16

Мощная библиотека для удобного управления RGB светодиодами и лентами для Arduino

  • 1530 значений для colorWheel
  • Работа в пространстве RGB
  • Работа в пространстве HSV
  • Установка цвета в формате HEX
  • Установка цветовой температуры
  • 16 предустановленных цветов
  • Настройка полярности ШИМ
  • Функция плавной смены цвета
  • Ограничение тока (по расчёту)
  • Регулировка общей яркости
  • Поддержание яркости LED ленты по мере разряда АКБ
  • Возможность управления 6-ю RGB диодами/лентами с одной Arduino (встроенный генератор ШИМ на ВСЕХ 20 пинах atmega328)
  • Режим с настройкой частоты ШИМ
  • Матрица коррекции LUT
  • Коррекция по минимальному сигналу ШИМ
  • CRT гамма-коррекция яркости

Поддерживаемые платформы: все Arduino (используются стандартные Wiring-функции)

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

p, blockquote 1,0,0,0,0 —>

Рынок светодиодного освещения набирает бешеные обороты, и не сложно понять, почему. Они дешевы для производства, потребляют значительно меньше энергии, чем другие варианты освещения, и в большинстве случаев не нагреваются, что делает их безопасными для самых разных целей.
Одним из самых популярных светодиодных продуктов является LED-лента. В этой статье мы рассмотрим, как настроить два наиболее распространенных типа светодиодных лент на Arduino. Эти проекты очень просты, и даже если вы новичок в электронике Arduino или DIY, вы сможете это сделать.
Мы также будем использовать IDE Arduino для их контроля. В этом проекте используется Arduino Uno, хотя вы можете взять практически любую совместимую плату (например, NodeMCU).
Здесь ссылки на все описанные в статье устройсва и материалы. Перейдя по ссылкам ниже вы сможете купить себе светодиодные ленты и Ардуино по партнерской цене.
Arduino по лучшей цене с дополнительной скидкой от Lightru SPI светодиодная лента — отличного качества — по партнерской цене p, blockquote 2,0,0,0,0 —>

Читайте также:  Комбайн для нарезки моркови по корейски

p, blockquote 3,0,0,0,0 —>

Руководство по выбору светодиодных лент к Arduino.

При покупке светодиодных лент есть несколько вещей, которые следует учитывать. Во-первых, это функциональность. Если вы планируете использовать устройства в основном для окружающего освещения, то правильным выбором станет простая диодная полоса 12 В RGB (SMD5050).
Многие приборы поставляются с инфракрасным пультом для управления ими, хотя в этом проекте мы будем использовать Arduino. Потратьте немного времени на покупки. На момент написания статьи метр ленты можно было купить всего за 1 доллар.
Если вы хотите что-то более высокотехнологичное, рассмотрите SPI RGB ленту.

p, blockquote 4,0,0,0,0 —>

Эти полосы, иногда называемые Neopixels, имеют интегрированные чипсеты, которые позволяют им управлять каждым диодом поодиночке. Это означает, что они способны на большее, чем просто дополнительное освещение. Вы можете использовать их для создания дешевого светодиодного дисплея с нуля. Из лент можно соорудить даже собственную домашнюю тучку с извергающими молниями. Или бегущую светодиодную ленту.

p, blockquote 5,0,0,0,0 —>

Подробне о SPI RGB лентах вы можете прочитать здесь.

p, blockquote 6,0,0,0,0 —>

Эти полосы требуют всего 5 В для полноценного питания. Несмотря на то, что можно подавать небольшое количество мощности непосредственно с платы Arduino, обычно рекомендуется использовать отдельный источник питания 5 В, чтобы избавиться от запаха гари. Если вы ищете индивидуально программируемые светодиоды, светодиодная лента Ардуино — лучшая находка для вас. В данный момент стоимость 1 метра равняется примерно 4 долларам — 270 рублям.
Еще одна вещь, которую следует учитывать, — это то, где ленты, вероятно, будут использоваться. Оба типа полосы имеют различную длину, плотность светодиодов — количество диодов на метр — и разную степень защиты от атмосферных воздействий.
Осматривая светодиодную ленту, обратите внимание на цифры в листинге. Обычно первым номером будет количество светодиодов на метр, а буквы IP, за которыми следуют цифры, будут его степенью защищенности.

p, blockquote 7,0,0,0,0 —>

Например, если в списке указано «30 IP67», это означает, что на метр будет 30 светодиодов. «6» — признак того, что устройство полностью защищено от пыли. «7» значит, что прибор не пострадает от непродолжительного погружения в воду. После того, как вы приобретете светодиодную полоску, придет время связать ее с Arduino. Начнем с SMD5050.

p, blockquote 8,0,0,0,0 —>

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

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

p, blockquote 9,0,0,0,0 —>

p, blockquote 10,0,0,0,0 —>

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

Прежде чем настраивать схему светодиодная лента Ардуино, давайте поговорим о МОП-структуре — MOSFET.

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

p, blockquote 11,0,0,0,0 —>

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

1. Подключите контакты Arduino 9, 6 и 5 к концам затвора трех МОП-транзисторов и подключите резистор 10 кОм в соответствии с заземлением.
2. Подключите ножки источника к заземлению.
3. Подключите дренажные опоры к разъемам Green, Red и Blue на светодиодной ленте.
4. Подключите шину питания к разъему +12v светодиодной полосы (обратите внимание, что на изображении выше провод питания черный, чтобы соответствовать цветам разъемов на моей светодиодной полосе).
5. Подключите заземление Arduino.
6. Подключите стабилизатор питания 12 В в сеть.
Большинство светодиодных полосок имеет разъемы Dupont, к которым легко подключиться. Если у вас нет таких, вам понадобится припаять провода к диодной ленте. Не паникуйте, если вы новичок в пайке — это легкая работа. В интернете есть множество руководств по началу работы с паяльником, с которыми можно ознакомиться, если пайка доставляет вам трудности.
Для этого проекта мы будем управлять нашей платой Arduino по USB . Вы можете выбрать питание платы с помощью вывода VIN, но перед этим убедитесь, что вы знаете ограничения мощности для своего устройства.

Читайте также:  Состав для заделки трещин в кирпичной кладке

p, blockquote 12,0,0,0,0 —>

После всех процедур схема и Светодиодная лента Ардуино должна выглядеть примерно так:

p, blockquote 13,0,0,0,0 —>

Теперь, когда вы все связали, пришло время сделать простой код Arduino, чтобы контролировать его.

p, blockquote 14,0,0,0,0 —>

p, blockquote 15,0,0,0,0 —>

Светодиодная лента Ардуино — написание кода.

Подключите плату Arduino к компьютеру через USB и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный для вашей платы, в меню «Сервис»> «Сервис и инструменты»> «Порт». Откройте новый эскиз и сохраните его с соответствующим именем.
Этот эскиз затухает с одноцветными огнями, держит их в таком состоянии в течение нескольких секунд, а затем исчезает, пока они не погаснут снова.

p, blockquote 16,0,0,0,0 —>

Вы можете сделать эскиз самостоятельно или просто загрузить готовый код из GitHub (https://gist.github.com/anonymous/d4fa3719478c3c5a9c321cc372e9540).

p, blockquote 17,0,0,0,0 —>

Начните с определения штырей, которые будут использоваться для управления МОП-транзисторами.

p, blockquote 18,0,1,0,0 —>

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

p, blockquote 19,0,0,0,0 —>

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

p, blockquote 20,0,0,0,0 —>

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

p, blockquote 21,0,0,0,0 —>

В вашей настройке мы установим выводы Arduino. Мы также будем вызывать пару функций с задержкой в 5 секунд. Этих функций еще не существует, но не беспокойтесь, мы доберемся до них.

p, blockquote 22,0,0,0,0 —>

void setup() <
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);

p, blockquote 23,0,0,0,0 —>

TurnOn();
delay(5000);
TurnOff();
>
Теперь создайте метод TurnOn ():
void TurnOn() <
for (int i = 0; i p, blockquote 24,0,0,0,0 —>

Эти три цикла for полностью увеличивают яркость каждого цвета за время, указанное значением fadeSpeed.
Наконец, вам нужно создать метод TurnOff ():
void TurnOff() <
for (int i = 0; i p, blockquote 25,0,0,0,0 —>

p, blockquote 26,0,0,0,0 —>

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

p, blockquote 27,0,0,0,0 —>

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

p, blockquote 28,0,0,0,0 —>

Теперь вы должны увидеть, что ваша светодиодная лента Ардуино наращивает яркость, удерживая белый оттенок в течение 5 секунд, а затем равномерно исчезает до нуля:

p, blockquote 29,0,0,0,0 —>

p, blockquote 30,0,0,0,0 —>

Если у вас возникли трудности, дважды проверьте свою проводку и код.

p, blockquote 31,0,0,0,0 —>

p, blockquote 32,0,0,0,0 —>

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

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

p, blockquote 33,0,0,0,0 —>

Как мы видим, при открытии двери светодиодная лента Ардуино плавно зажигается и встречает человека.

p, blockquote 34,0,0,0,0 —>

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

p, blockquote 35,0,0,0,0 —>

p, blockquote 36,0,0,0,0 —>

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

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

Читайте также:  Как сделать парашютик из бумаги

p, blockquote 37,1,0,0,0 —>

p, blockquote 38,0,0,0,0 —>

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

p, blockquote 39,0,0,0,0 —>

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

p, blockquote 40,0,0,0,0 —>

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

p, blockquote 41,0,0,0,0 —>

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

p, blockquote 42,0,0,0,0 —>

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

p, blockquote 43,0,0,0,0 —>

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

p, blockquote 44,0,0,0,0 —>

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

p, blockquote 45,0,0,0,0 —>

p, blockquote 46,0,0,0,0 —>

Обратите внимание, что конденсатор должен быть правильной ориентации.

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

p, blockquote 47,0,0,0,0 —>

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

p, blockquote 48,0,0,0,0 —>

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

p, blockquote 49,0,0,0,0 —>

После того, как все подключено, прибор должен выглядеть так:

p, blockquote 50,0,0,0,0 —>

p, blockquote 51,0,0,0,0 —>

Теперь, когда разобрались со светодиодной лентой, давайте перейдем к коду.

p, blockquote 52,0,0,0,0 —>

p, blockquote 53,0,0,0,0 —>

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

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

p, blockquote 54,0,0,0,0 —>

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

p, blockquote 55,0,0,0,0 —>

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

p, blockquote 56,0,0,1,0 —>

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

p, blockquote 57,0,0,0,0 —>

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

p, blockquote 58,0,0,0,0 —>

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

p, blockquote 59,0,0,0,0 —>

Вот и все!

p, blockquote 60,0,0,0,0 —>

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

p, blockquote 61,0,0,0,0 —>

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

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

p, blockquote 62,0,0,0,0 —>

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

p, blockquote 63,0,0,0,0 —>

p, blockquote 64,0,0,0,0 —>

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

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

p, blockquote 65,0,0,0,0 —>

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

Оцените статью
Добавить комментарий