Оглавление
- Принципы работы трехцветных светодиодов
- Адресная светодиодная лента Ардуино
- Устройство и назначение RGB светодиода
- Цвета
- Принцип работы транзистора для плавного управления светодиодной лентой
- Подключение светодиодной ленты к Ардуино
- Theory Behind (not necessary, only if you feel interested)
- ДОКУМЕНТАЦИЯ
- Как устроены 3 цветные LED диоды
- Принцип работы
- Типы схем цвета
- Пример программы
- Срок службы
- Виды транзисторных ключей
- Управление RGB светодиодом на Ардуино
- Подключение светодиодной ленты к Ардуино
- УПРАВЛЯЕМ RGB СВЕТОМ С ARDUINO
- Как принять и распарсить принятую команду
- Светодиодная лента Ардуино – Подключение
- Что такое адресная светодиодная лента?
Принципы работы трехцветных светодиодов
Внешний вид трехцветного светодиода показан на следующем рисунке:
Трехцветный светодиод имеет 4 контакта как показано на рисунке ниже:
- контакт 1: цвет 1 отрицательный вывод при общем аноде или цвет 1 положительный вывод при общем катоде;
- контакт 2: общий положительный вывод для всех трех цветов при общем аноде или общий отрицательный вывод для всех трех цветов при общем катоде;
- контакт 3: цвет 2 отрицательный вывод или цвет 2 положительный вывод;
- контакт 4: цвет 3 отрицательный вывод или цвет 3 положительный вывод.
Таким образом, есть 2 типа трехцветных светодиодов – с общим катодом (ОК) и с общим анодом (ОА). При общем катоде (общий отрицательный вывод) мы имеем три положительных вывода, где каждый вывод отвечает за свой цвет, и один общий отрицательный вывод. Внутренняя схема подключений трехцветного светодиода с общим катодом показана на следующем рисунке:
В таком светодиоде (с ОК) если мы хотим зажечь красный цвет мы должны подать питание на контакт, отвечающий за красный цвет, и подать землю на общий отрицательный вывод. Аналогично и для других цветов.
При общем аноде (общий положительный вывод) мы имеем три отрицательных вывода, где каждый вывод отвечает за свой цвет, и один общий положительный вывод. Внутренняя схема подключений трехцветного светодиода с общим анодом показана на следующем рисунке:
В таком светодиоде (с ОА) если мы хотим зажечь красный цвет мы должны подать землю на контакт, отвечающий за красный цвет, и подать питание на общий положительный вывод. Аналогично и для других цветов.
В нашем примере мы будем использовать трехцветные светодиоды с общим анодом. В обычном режиме для подключения 5 трехцветных светодиодов к плате Arduino нам бы понадобилось 5×4= 20 контактов, но мы уменьшим количество используемых контактов до 8 при помощи соединения трехцветных светодиодов в параллель и использовании технологии мультиплексирования.
Адресная светодиодная лента Ардуино
Адресные ленты отличаются плотностью — от 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 ленты нет, поэтому рассмотрим далее управление и программирование адресной светодиодной ленты на микроконтроллере Ардуино Нано или Уно.
Устройство и назначение RGB светодиода
RGB светодиоды объединяют три кристалла разных цветов в одном корпусе. RGB LED имеет 4 вывода — один общий (анод или катод имеет самый длинный вывод) и три цветовых вывода. К каждому цветовому выходу следует подключать резистор. Кроме того, модуль RGB LED Arduino может сразу монтироваться на плате и иметь встроенные резисторы — этот вариант более удобный для занятий в кружке робототехники.
Фото. Распиновка RGB светодиода и модуль с RGB светодиодом для Ардуино
Распиновка RGB светодиода указана на фото выше. Заметим также, что для многих полноцветных (трехцветных) светодиодов необходимы светорассеиватели, иначе будут видны составляющие цвета. Далее подключим трехцветный светодиод к Ардуино и заставим его сначала мигать разными цветами, а затем плавно переливаться разными цветами с помощью «широтно импульсной модуляции».
Цвета
Немного теории: мы можем смешивать три основных цвета и видеть новые оттенки, так как в наших глазах три типа рецепторов (для красного, зеленого и синего цветов). В результате ваш глаз и мозг обрабатывает информацию о насыщенности этих трех цветов и преобразовывает их в другие оттенки спектра.
То есть, используя одновременно три светодиода, мы словно обманываем наши глаза. Эта же идея используется в телевизорах, где жидкокристаллический дисплей состоит из маленьких точек красного, зеленого и синего цветов, которые расположены очень близко друг к другу и формируют отдельные пиксели.
Если мы настроим одинаковую яркость всех светодиодов, мы он будет светиться белым. Если мы отключим синий светодиод и будут гореть с одинаковой яркостью только красный и зеленый, мы получим желтый свет.
Мы можем управлять яркостью каждого светодиода отдельно, смешивая цвета как нам заблагорассудится.
Так как черный цвет не что иное, как отсутствие света, получить его не получится. Ближайший оттенок черного – это полностью выключенные светодиоды.
Принцип работы транзистора для плавного управления светодиодной лентой
Транзистор работает как водопроводный кран, только для электронов. Чем выше напряжение, подаваемое на базу биполярного транзистора либо сток полевого, тем меньше сопротивление в цепочке эмиттер-коллектор, тем выше ток, проходящий через нагрузку.
Подключив транзистор к аналоговому порту Ардуино, присваиваем ему значение от 0 до 255, изменяем напряжение, подаваемое на коллектор либо сток от 0 до 5В. Через цепочку коллектор-эмиттер будет проходить от 0 до 100% опорного напряжения нагрузки.
Для управления светодиодной лентой arduino необходимо подобрать транзистор подходящей мощности. Рабочий ток для питания метра светодиодов 300-500мА, для этих целей подойдет силовой биполярный транзистор. Для большей длины потребуется полевой транзистор.
Схема подключения LED ленты к ардуино:
Подключение светодиодной ленты к Ардуино
подключение светодиодной ленты к Arduino Мнение экспертаАлексей БартошСпециалист по ремонту, обслуживанию электрооборудования и промышленной электроники.Задать вопрос экспертуArduino Nano могут управлять не только электродвигателями. Они используются также для светодиодных лент. Но так как выходные ток и напряжение платы недостаточны для прямого подключения к ней полосы со светодиодами, то между контроллером и светодиодной лентой необходимо устанавливать дополнительные приспособления.
Через реле
Подключение через реле Реле подключается к устройству на цифровой выход. Полоса, управляемая с его помощью имеет только два состояния — включенная и выключенная. Для управления red-blue-green ленточкой необходимы три реле. Ток, который может контролировать такое устройство, ограничен мощностью катушки (маломощная катушка не в состоянии замыкать большие контакты). Для подсоединения большей мощности используются релейные сборки.
С помощью биполярного транзистора
Подключение с помощью транзистора Для усиления выходного тока и напряжения можно использовать биполярный транзистор. Он выбирается по току и напряжению нагрузки. Ток управления не должен быть выше 20 мА, поэтому подается через токоограничивающее сопротивление 1 – 10 кОм.
Транзистор лучше применять n-p-n с общим эмиттером. Для большего коэффициента усиления используется схема с несколькими элементами или транзисторная сборка (микросхема-усилитель).
С помощью полевого транзистора
Кроме биполярных, для управления полосами используются полевые транзисторы. Другое название этих приборов – МОП или MOSFET-transistor.
Подключается элемент через токоограничивающее сопротивление. Кроме того, он чувствителен к помехам, поэтому выход контроллера следует соединить с массой резистором в 10 кОм.
С помощью плат расширения
Подключение Arduino с помощью плат расширения
Это может быть Wi-Fi или Bluetooth, драйвер управления электродвигателем, например, модуль L298N или эквалайзер. Они предназначены для управления нагрузками разной мощности и напряжения. Такие устройства бывают одноканальными – могут управлять только монохромной лентой, и многоканальными – предназначены для устройств RGB и RGBW, а также лент со светодиодами WS 2812.
Theory Behind (not necessary, only if you feel interested)
Pulse Width Modulation (or PWM) is a technique for controlling power. We also use it here to control the brightness of each of the LEDs. PWM is so widely used in electronics you probably have seen it else where, for example, it is used in controlling servos, DC Voltage Converter etc.
See below picture for the signal from one of the PWM.
Roughly every 1/500 of a second, the PWM output will produce a pulse. The length of this pulse is controlled by the ‘analogWrite’ function. So ‘analogWrite(0)’ will not produce any pulse at all and ‘analogWrite(255)’ will produce a pulse that lasts all the way until the next pulse is due, so that the output is actually on all the time.
If we specify a value in the analogWrite that is somewhere in between 0 and 255 then we will produce a pulse. If the output pulse is only high for 5% of the time then whatever we are driving will only receive 5% of full power.
If however the output is at 5V for 90% of the time then the load will get 90% of the power delivered to it. We cannot see the LEDs turning on and off at that speed, so to us, it just looks like the brightness is changing.
You can check out Wikipedia for more info: http://en.wikipedia.org/wiki/Pulse-width_modulation
ДОКУМЕНТАЦИЯ
Список функций и методов библиотеки из файла .h
// объявление GRGB(uint8_t rpin, uint8_t gpin, uint8_t bpin); // объявление с выбором режима генерации ШИМ (NORM_PWM / ANY_PWM) // NORM_PWM — дефолтные ШИМ пины (3, 5, 6, 9, 10, 11 для UNO/NANO/MINI) // ANY_PWM — любой пин делается ШИМ пином (частота ~150 Гц). Подробности в библиотеке GyverHacks GRGB(uint8_t rpin, uint8_t gpin, uint8_t bpin, boolean pwmmode); // NORMAL / REVERSE — направление ШИМ // общий катод — NORMAL // общий анод — REVERSE void setDirection(boolean direction); // установка ограничения по току: // numLeds — количество светодиодов // vcc — напряжение питания в милливольтах // maxCur — максимальный ток void setMaxCurrent(uint16_t numLeds, float vcc, int maxCur); void setBrightness(byte bright); // установка яркости (0-255) void constantBrightTick(int minVolts, int vcc); // корректировка под напряжение питания void gammaTick(int vcc); // корректировка красного цвета при падении напряжения питания void setHEX(uint32_t color); // установка цвета в формате HEX (вида 0x808080 ) void setRGB(uint8_t r, uint8_t g, uint8_t b); // установка цвета в пространстве RGB (каждый цвет 0-255) void setHSV(uint8_t h, uint8_t s, uint8_t v); // установка цвета в пространстве HSV (каждая велиична 0-255) void setHSV_fast(uint8_t h, uint8_t s, uint8_t v); // более быстрый, но менее красивый вариант предыдущей функции void setKelvin(int16_t temperature); // установить цвет как температуру в Кельвинах (от 1000 до 10’000 — от красного к синему) void colorWheel(int color); // установить цвет (0 — 1530). Максимально широкая палитра ярких цветов (смеси RGB) // плавно изменить текущий цвет к новому за вермя fadeTime в миллисекундах // для HEX цвета void fadeTo(uint32_t newColor, uint16_t fadeTime); // для R G B void fadeTo(uint8_t new_r, uint8_t new_g, uint8_t new_b, uint16_t fadeTime);
Как устроены 3 цветные LED диоды
С точки зрения конструкции, RGB LED — это три цветных светодиода, установленные в один корпус, или, как говорят специалисты, на одной матрице. Обычные виды мощных осветительных приборов содержат три чипа одного цвета. У многоцветных используются красный, зеленый и синий кристаллы (английское Red Green Blue образует аббревиатуру, обозначающую трехцветные светодиоды).
Каждый из них имеет самостоятельное подключение к источнику питания, поэтому вместо обычных двух выводов у них как минимум 4 контакта — по одному на каждый кристалл и один общий. Это позволяет задействовать один из трех чипов, создавать различные сочетания, менять и смешивать цвета в группе. Если режим подключения отдельных кристаллов упорядочить с помощью микроконтроллера, можно получить массу интересных световых эффектов. Подобные технологии известны давно и используются в цветной печати, в устройстве цветных телевизоров и т.п.
Принцип работы
Принцип работы RGB-светодиодов основан на смешении цветов. Управляемое зажигание одного, двух или трех элементов позволяет получить различное свечение.
Палитра смешивания дискретных цветов.
Включение кристаллов по отдельности дает три соответствующих цвета. Попарное включение позволяет достичь свечения:
- красный+зеленый p-n переходы в итоге дадут желтый цвет;
- синий+зеленый при смешивании дают бирюзовый;
- красный+синий позволяют получить фиолетовый.
Намного больше возможностей дает смешивание цветов в различных пропорциях. Сделать это можно, раздельно управляя яркостью свечения каждого кристалла. Для этого надо индивидуально регулировать ток, протекающий через светодиоды.
Палитра смешивания цветов в разных соотношениях
Типы схем цвета
Мир полон цветов. Их разнообразие и сочетания поражают. Хочется на экране монитора воспроизвести хотя бы часть этого великолепия. Но как это сделать? Ведь и монитор, и весь компьютер в целом – это цифровые системы, а цвет не описывается ни одним, ни двумя, ни вообще каким-либо разумным конечным числом параметров полностью. Однако есть методы, дающие весьма хорошее приближение. Эти методы исходят, как правило, из двух способов: аддитивного сочетания цветов и субтрактивного. На практике аддитивному способу соответствуют лучи, а субтрактивному — краски. И те, и другие схемы исходят из предпосылки, что так или иначе смешивая несколько базовых цветов, можно создать впечатление любого видимого цвета или его хорошего приближения.
Аддитивные схемы
Аддитивные схемы легко иллюстрировать на примере лучей света. При сложении двух лучей, то есть если осветить белый предмет двумя лучами, цвет становиться светлее, ярче. Освещать надо именно белый предмет. Если осветить предмет синим лучом света, то он покажется синим. Если же красным, то он покажется красным. Если же обоими сразу, то цвет будет какой-то фиолетовый, но что самое главное, он будет светлее, чем каждый из цветов в отдельности. Итак, аддитивные схемы при смешении всех базовых цветов в равной пропорции дают оттенки серого цвета. Отсутствие составляющих означает чёрный цвет, а их максимальное количество – белый.
Субтрактивные схемы
Субтрактивные схемы легко иллюстрировать с помощью красок. При смешении двух красок мы получаем новую краску. Краски мы наносим на белый лист бумаги. Если смешать две краски, то результат будет насыщеннее и темнее. Итак, субтрактивные схемы при смешении всех базовых цветов дают оттенки серого цвета. Отсутствие составляющих означает белый цвет, а их максимальное количество – чёрный.
Пример программы
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
Срок службы
Период эксплуатации прибора из трех кристаллов определяется временем наработки на отказ самого недолговечного элемента. В данном случае он у всех трех p-n переходов примерно одинаковый. Производители заявляют срок службы RGB-элементов на уровне 25 000-30 000 часов
Но к этой цифре надо относиться осторожно. Заявленное время жизни эквивалентно непрерывной работе в течение 3-4 лет
Вряд ли кто-то из производителей проводил ресурсные испытания (да еще в различных тепловых и электрических режимах) в течение столь долгого периода. За это время появляются новые технологии, испытания надо начинать заново – и так до бесконечности. Гораздо более информативен гарантийный срок эксплуатации. А он составляет 10 000-15 000 часов. Все, что дальше – в лучшем случае математическое моделирование, в худшем – голый маркетинг. Проблема в том, что на распространенные недорогие светодиоды сведения о гарантии производителя, как правило, отсутствуют. Но ориентироваться можно на 10 000-15 000 часов и держать в голове еще приблизительно столько же. А дальше уповать только на везение. И еще один момент – период службы очень сильно зависит от теплового режима во время эксплуатации. Поэтому один и тот же элемент в разных условиях прослужит разное время. Для продления срока жизни LED надо внимательно относиться к проблеме отведения тепла, не пренебрегать радиаторами и создавать условия для естественной циркуляции воздуха, а в некоторых случаях прибегать и к принудительной вентиляции.
Но даже уменьшенные сроки — это несколько лет эксплуатации (ведь LED не будет работать без пауз). Поэтому появление трехцветных светодиодов позволяет дизайнерам широко применять полупроводниковые приборы в их задумках, а инженерам – эти идеи реализовывать «в железе».
Виды транзисторных ключей
- Биполярный;
- Полевой;
- Составной (сборка Дарлингтона).
При подаче высокого логического уровня (digitalWrite(12, HIGH);) через порт вывода на базу транзистора через цепочку коллектор-эмиттер потечет опорное напряжение на нагрузку. Таким образом можно включать и отключать светодиод.
Аналогичным образом работает и полевой транзистор, но поскольку у него вместо «базы» сток, который управляется не током, а напряжением, ограничительный резистор в этой схеме необязателен.
Биполярный вид не позволяет регулировать мощные нагрузки. Ток через него ограничен на уровне 0,1-0,3А.
Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для ещё более мощной нагрузки используют полевые транзисторы Mosfet с током до 9А и напряжением до 60В.
Вместо полевых можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.
Микросхема ULN2003 и принципиальная схема электронного коммутатора напряжения:
Управление RGB светодиодом на Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- RGB светодиод;
- 3 резистора 220 Ом;
- провода «папа-мама».
Фото. Схема подключения RGB LED к Ардуино на макетной плате Модуль «RGB светодиод» можно подключить напрямую к плате, без проводов и макетной платы. Подключите модуль с полноцветным RGB светодиодом к следующим пинам: Минус — GND, B — Pin13, G — Pin12, R — Pin11 (смотри первое фото). Если вы используете RGB LED (Light Emitting Diode), то подключите его по схеме на фото. После подключения модуля и сборки схемы на Ардуино загрузите скетч в плату.
Скетч для мигания RGB светодиодом на Ардуино
#define RED 11 // присваиваем имя RED для пина 11 #define GRN 12 // присваиваем имя GRN для пина 12 #define BLU 13 // присваиваем имя BLU для пина 13 void setup() { pinMode(RED, OUTPUT); // используем Pin11 для вывода pinMode(GRN, OUTPUT); // используем Pin12 для вывода pinMode(BLU, OUTPUT); // используем Pin13 для вывода } void loop() { digitalWrite(RED, HIGH); // включаем красный свет digitalWrite(GRN, LOW); digitalWrite(BLU, LOW); delay(1000); // устанавливаем паузу для эффекта digitalWrite(RED, LOW); digitalWrite(GRN, HIGH); // включаем зеленый свет digitalWrite(BLU, LOW); delay(1000); // устанавливаем паузу для эффекта digitalWrite(RED, LOW); digitalWrite(GRN, LOW); digitalWrite(BLU, HIGH); // включаем синий свет delay(1000); // устанавливаем паузу для эффекта }
Пояснения к коду:
- с помощью директивы #define мы заменили номер пинов 11, 12 и 13 на соответствующие имена RED, GRN и BLU. Это сделано для удобства, чтобы не запутаться в скетче и понимать какой цвет мы включаем;
- в процедуре void loop() мы поочередно включаем все три цвета на RGB.
Подключение светодиодной ленты к Ардуино
Через реле
Реле подключается к устройству на цифровой выход. Полоса, управляемая с его помощью имеет только два состояния – включенная и выключенная. Для управления red-blue-green ленточкой необходимы три реле. Ток, который может контролировать такое устройство, ограничен мощностью катушки (маломощная катушка не в состоянии замыкать большие контакты). Для подсоединения большей мощности используются релейные сборки.
С помощью биполярного транзистора
Для усиления выходного тока и напряжения можно использовать биполярный транзистор. Он выбирается по току и напряжению нагрузки. Ток управления не должен быть выше 20 мА, поэтому подается через токоограничивающее сопротивление 1 – 10 кОм.
Транзистор лучше применять n-p-n с общим эмиттером. Для большего коэффициента усиления используется схема с несколькими элементами или транзисторная сборка (микросхема-усилитель).
С помощью полевого транзистора
Кроме биполярных, для управления полосами используются полевые транзисторы. Другое название этих приборов – МОП или MOSFET-transistor.
Такой элемент, в отличие от биполярного, управляется не током, а напряжением на затворе. Это позволяет малому току затвора управлять большими токами нагрузки – до десятков ампер.
Подключается элемент через токоограничивающее сопротивление. Кроме того, он чувствителен к помехам, поэтому выход контроллера следует соединить с массой резистором в 10 кОм.
С помощью плат расширения
Кроме реле и транзисторов используются готовые блоки и платы расширения.
Это может быть Wi-Fi или Bluetooth, драйвер управления электродвигателем, например, модуль L298N или эквалайзер. Они предназначены для управления нагрузками разной мощности и напряжения. Такие устройства бывают одноканальными – могут управлять только монохромной лентой, и многоканальными – предназначены для устройств RGB и RGBW, а также лент со светодиодами WS 2812.
УПРАВЛЯЕМ 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
Также можно распаять платку
Как принять и распарсить принятую команду
Для этого мы напишем две функции: функцию принятие данных и функцию парсинга. Первая будет вызывать из функции цикла Loop и записывать в глобальную переменную “Str” принятые данные. Вторая будет парсить команды и вызывать соответствующую функцию. Парсить будем функцией “strtok”.
void loop () { getStr(); if (Str != "0") ParseCommand(); } //*************************************************** void getStr() { int cb = udp.parsePacket(); if (!cb) {} else { udp.read(packetBuffer, NTP_PACKET_SIZE); Serial.println(packetBuffer); String req = (packetBuffer); Serial.print("Request: "); Serial.println(req); Str = req; } memset(packetBuffer, 0, NTP_PACKET_SIZE); //очищаем буфер для приема следующей команды } //***************************************************--ParseCommand void ParseCommand() { String command = ""; //преобразовываем строку в нужным нам тип Str.toCharArray(buf, 127);// Str - переменная в которой хранится пришедший пакет command = String( strtok (buf, " ")); Serial.println("command: " + command + "(" + Str + ")"); if (command == "save") { SaveComand(); //Сохраняем и подключаемся к Wi-Fi } else if (command == "LightRGB") { LightRGB(); //задаем цвет свечения } else if (command == "LightFade") { LightFade(); //задаем потухание/появление } else if (command == "LightUser") { FadeUser(); } else { Str = "0"; // очищаем } }
Ниже я объясню, что за команды и что они будут делать
Светодиодная лента Ардуино – Подключение
Чтобы подключить 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, но перед этим убедитесь, что вы знаете ограничения мощности для своего устройства.
Что такое адресная светодиодная лента?
В первую очередь давайте рассмотрим, что вообще такое
цифровая Led лента, как она устроена и как работает?
По-другому ее еще называют адресной, умной или лентой “бегущий огонь”.
Главное отличие от обычных изделий заключается в присутствии на плате микросхем. Причем они могут быть как встроенными в сам светодиод.
Так и внешними.
Они позволяют управлять режимами работы каждого сегмента
по отдельности. Таким образом можно напрямую запускать и отключать свечение
любого светодиода или пикселя.
В данном случае пикселем называют ячейку из одного или
нескольких светодиодов сразу (обычно по 3 штуки).
Вы сможете управлять как яркостью, так и цветом любого
диода в ленте и при этом создавать совершенно потрясающие световые эффекты:
для автомобиля
для аквариума
на фасаде дома
на ёлке
Многообразие вариантов будет зависеть только от вашей фантазии.