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

Вопросы и ответы

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

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

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

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

  • Black PCB / White PCB — цвета подложек;
  • 1 м / 5 м — длина адресной ленты;
  • 30/60/74 и так далее — сколько светодиодов на 1 метр ленты;
  • IP30, IP65, IP67 — степень устойчивости ленты к влаге и пыли =.

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

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

Видеоурок на канале HomeMade:

Видео создания стеклоочистителя на основе ленты WS2112

Виды транзисторных ключей

  • Биполярный;
  • Поле;
  • Композитный (сборка Дарлингтона).

Когда высокий логический уровень (digitalWrite (12, HIGH);) применяется к выходному порту на базе транзистора через цепь коллектор-эмиттер, опорное напряжение течет на нагрузку. Таким образом вы можете включать и выключать светодиод.

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

Биполярное зрение не позволяет регулировать мощные нагрузки. Ток, протекающий через него, ограничен 0,1-0,3 А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для еще более мощной нагрузки используются полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Вместо полевого эффекта можно использовать сборку биполярных транзисторов Дарлингтона на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного переключателя напряжения:

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

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

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

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

Схема подключения светодиодной ленты Arduino:

Лента на базе ws2812b


Лента на основе Ws2812b

Лента ws2812b более совершенная, чем ее предшественница. Драйвер ШИМ в адресной строке компактен и помещается прямо в корпус светодиода.

Основные преимущества ленты на основе WS2812B:

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

Лента имеет четыре выхода:

  • питание;
  • вывод передачи данных;
  • общий контакт;
  • вход передачи данных.

Максимальный ток адресуемого светодиода составляет 60 мА. Диапазон рабочих температур от -25 до +80 градусов. Напряжение питания 5В + -0,5.

Ленточные драйверы PWM являются 8-битными: для каждого цвета возможно 256 градаций яркости. Для установки яркости необходимо 3 байта информации — по 8 бит с каждого светодиода. Информация передается по однолинейному протоколу с фиксированной скоростью. Нули и единицы закодированы вверху и внизу строки.

1 бит передается за 1,25 мкс. Полный 24-битный пакет для светодиода передается за 30 мкс.

КАК ДЕЛАТЬ НЕЛЬЗЯ

Как мы уже поняли, для питания ленты требуется источник на 5 Вольт с достаточным запасом по току, а именно: один цвет качественного светодиода на максимальной яркости потребляет 0,012 А (12 мА) соответственно, весь светодиод — 0,036 А (36 мА) на максимальной яркости… У китайцев есть «китайские» ленты, которые меньше потребляют и тускло светятся. Всегда покупаю в магазине осветительных приборов БТФ (ссылка в начале статьи), там ленты качественные.

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

  • Не подключайте больше того количества светодиодов, при котором ток потребления будет больше 500мА, то есть 500/32 ~ 16шт
  • Напишите код на основе библиотеки FastLED, где вы можете ограничить ток специальной функцией. НО! Если отсоединить вывод Din от источника сигнала, есть риск случайно включить ленту и никакие программные ограничения не спасут вас от прожига утюга.

Вы можете спросить: как я могу затем прошить проект на магнитную ленту? Ведь судя по первой картинке так подключиться не получится! Все очень просто: если в прошивку сразу после загрузки не входит магнитная лента, просто прошейте ее. Если он включается и есть риск перегрузки по току, подключите внешний источник питания к 5V и GND.

RGB (Red, Green, Blue) лента — это разноцветная светодиодная лента с четырьмя контактами: R, G, B и +. Для управления этой лентой используется контроллер, который «решает» какое напряжение подать на какой канал в зависимости от цвета, который вы выбрали. Если он, например, подаст питание поровну на «синий» и «зеленый» канал, мы должны увидеть желтый. В основном RGB ленты делают на основе диодов 2835 и 5050. Однако SMD 2835 — лишь симуляция RGB, в которой красный, синий и зеленый диод чередуются и якобы получается RGB. Внешне это очень напоминает обычную гирлянду (см картинку ниже).

Управление RGB лентой с помощью Andurino

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

Схема подключения светодиодов Arduino RGB:

Ленточный элемент управления Arduino RGB устроен аналогично:


Контроллер Arduino RGB лучше всего собирать на полевых транзисторах.

для равномерного управления яркостью можно использовать две кнопки. Один увеличит яркость свечения, другой — уменьшится.

Скетч управления яркостью светодиодной ленты Arduino

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

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

Чтобы подключить светодиодную ленту 12 В к Arduino, вам потребуется несколько компонентов:

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

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

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

ТИПЫ АДРЕСНЫХ ЛЕНТ

Сейчас существует несколько разновидностей адресных светодиодных лент, в их основе лежат разные светодиоды. Рассмотрим линейку китайских микросхем под названием WS28XX.

Чип Напряжение LED на чип Количество вводов данных Купить в РФ
WS2811 12-24В 3 1 30 светодиодов, 60 светодиодов
WS2812 3,5-5,3 В 1 1 30 светодиодов, 60 светодиодов, 144 светодиодов
WS2813 3,5-5,3 В 1 2 (дубликат) 30 светодиодов, 60 светодиодов
WS2815 9-13,5 В 1 2 (дубликат) 30 светодиодов, 60 светодиодов
WS2818 12 / 24В 3 2 (дубликат) 60 светодиодов

Для двухконтактных лент из линии WS28XX вам нужно только подключить вывод DI к контроллеру, вам не нужно подключать вывод BI. При соединении отрезков ленты все штыри должны быть соединены!

Принцип управления нагрузкой через Arduino

На плате Arduino есть два типа портов: цифровой и аналоговый. Первый имеет два состояния: «0» и «1» (логический ноль и единица). Когда светодиод подключен к плате в одном состоянии, он загорается, в другом — нет.

Аналоговый вход фактически представляет собой ШИМ-контроллер, который записывает сигналы с частотой около 500 Гц, которые отправляются на контроллер с регулируемым рабочим циклом. Аналоговый вход позволяет не только включать или отключать управляемый элемент, но и изменять значение тока (напряжения).

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

WS2811 (WS2818) и WS2812

Сейчас популярны два типа лент: на микросхемах WS2812b и WS2811 (и на новом WS2818). В чем разница между ними? Микросхема WS2812 расположена внутри светодиода, поэтому микросхема контролирует цвет диода, а мощность ленты составляет 5 вольт. Микросхема WS2811 и WS2818 размещена отдельно и от нее одновременно питаются 3 светодиода, поэтому управлять цветом можно только сегментами по 3 диода в каждом. Но напряжение питания для таких лент 12-24 Вольт!


Различные программы

Библиотеки с программами для платы Arduino можно скачать с официального сайта или найти в Интернете на других информационных ресурсах. Если у вас есть навыки, вы также можете сами написать программу-скетч (исходный код). Для сборки электрической схемы не требуется специальных знаний.

Системные приложения, управляемые Arduino:

  1. Осветительные приборы. Наличие сенсора позволит установить расписание, по которому свет в комнате появляется сразу или мягко включается параллельно с закатом (с увеличением яркости). Для включения можно использовать Wi-Fi, телефон и интеграцию в систему «Умный дом».
  2. Освещение коридоров и лестниц. Arduino позволит организовать подсветку каждой детали (например, ступенек) отдельно. Добавьте на плату датчик движения, чтобы адресные светодиоды загорались последовательно в зависимости от того, где регистрируется движение объекта. Если движения нет, диоды гаснут.
  3. Свет и музыка. Используйте фильтры и применяйте аудиосигналы к аналоговому входу, чтобы организовать легкую музыку (эквалайзер) на выходе).
  4. ИТ-обновление. Некоторые датчики позволят создать зависимость цвета светодиодов от температуры процессора, его загрузки и нагрузки на оперативную память. Используется протокол DMX 512.

Микросхемы Arduino расширяют использование монохроматических и многоканальных (RGB) светодиодных лент. Помимо смешивания разных цветов, формирования сотен тысяч оттенков, вы можете создавать уникальные эффекты: затухание на закате, периодическое включение / выключение при обнаружении движения и многое другое.

БИБЛИОТЕКА GYVERRGB

GyverRGB v1.15

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

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

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

ПОДКЛЮЧЕНИЕ 12V ЛЕНТ

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

Лента SMD 5050 более современна. Внутри диода совмещены красный, зеленый и синий кристаллы. Контроллер подает большее или меньшее напряжение на каналы в зависимости от команды, и в итоге диоды могут светить не только красным-синим-зеленым, но и оттенками: розовым, оранжевым и т.д.

Принцип действия Arduino

«Сердце» платы Arduino — микроконтроллер, к которому подключены датчики и элементы управления. Определенная программа (называемая «эскизом») позволяет вам управлять двигателями, светодиодными лентами и другими осветительными приборами, которые также используются для управления другой платой Arduino по протоколу SPI. Управление осуществляется с помощью пульта дистанционного управления, модуля Bluetooth или сети Wi-Fi.

Для программирования используется открытый исходный код на ПК. Вы можете использовать USB-разъем для загрузки управляющих программ.

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

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

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

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

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

Эти три цикла for полностью смешивают каждый цвет за время, указанное значением fadeSpeed. Наконец, нам нужно создать метод TurnOff (): void TurnOff () {for (int i = 0; i <256; i ++) {analogWrite (GREEN_LED, яркость); analogWrite (RED_LED, яркость); analogWrite (BLUE_LED, яркость); яркость — = 1; задержка (fadeSpeed); }} void loop () {} Этот метод применяет нашу переменную яркости ко всем трем цветным контактам и уменьшает их до нуля в течение определенного периода времени. Нам также нужен метод пустого цикла, чтобы избежать ошибок компиляции.

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

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

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

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

Разница между обычной и адресной лентой

ОСОБЕННОСТИ ПОДКЛЮЧЕНИЯ

  • Команды в ленте передаются от диода к диоду через шлейф. Лента имеет начало и конец, направление движения органов управления на некоторых моделях указано стрелками. Например, рассмотрим ws2812b, у него три контакта. Два для питания, но третий в начале ленты называется DI (цифровой вход), а в конце — DO (цифровой выход). Лента принимает команды на связь с DI! Контакт DO требуется для подключения дополнительных отрезков ленты или для соединения матриц.
  • Если в схеме возможна ситуация, когда на ленту не будет подано питание 5В, но будет послан сигнал с микроконтроллера, то лента начнет питаться от вывода данных. В этом случае могут перегореть как первый светодиод в полосе, так и вывод контроллера. Не пытайтесь испытать удачу, вставьте резистор на 200-500 Ом. Точность резистора? Что бы ни. Мощность резистора? Что бы ни. Да хоть 1/4.
    • Если между лентой и контроллером (Arduino) большое расстояние, например, длинные провода (длиннее 50 см), то сигнальный провод и заземление необходимо скрутить в косичку для защиты от помех, поскольку протокол связи лента достаточно высокоскоростная (800 кГц), она сильно подвержена влиянию внешних помех и экранирование скруткой заземления поможет избежать этого. Без этого может наблюдаться следующая картина: лента не работает, пока вы не дотронетесь рукой до сигнального кабеля.
    • При подключении ленты к логическим микроконтроллерам 3.3В (esp8266, ESP32, STM32) возникает проблема: лента питается от 5В, а сигнал принимает 3.3В. В даташите указана максимальная разница между блоком питания и управлением сигнал, при его превышении лента не будет работать или работать нестабильно, с артефактами. Чтобы исправить ситуацию, вы можете:
  • Снизить напряжение питания ленты до 4,5В, «промышленные» блоки питания (металл с отверстием) позволяют это сделать (у них есть закрутка).
  • Поставьте на управляющий сигнал преобразователь (трансформатор) уровней от 3,3 до 5В.
  • Еще я придумал очень грязный трюк с диодом: первый светодиод на ленте можно запитать от более низкого напряжения через любой кремниевый диод (например, 1N4007), а остальные как обычно. Диод падает примерно на 0,6 В, поэтому сигнал проходит через ступень усиления 3,3-4,4-5,0 В, и все будет работать стабильно. Для этого нужно аккуратно отрезать кусок дорожки 5В между 1 и 2 светодиодами, подключить блок питания ко второму и от этого же диода к первому (см. Схему № 1 справа).
  • Другой способ с нашего форума: диодом «поднять» землю самого микроконтроллера на те же 0,6В. Для этого между GND катода источника питания и GND анода микроконтроллера помещается диод (см. Схему № 2 справа).
  • Самый важный момент, который почему-то все игнорируют: цифровой сигнал проходит по двум проводам, поэтому одного провода ардуины недостаточно для его передачи. Что второе? GND земля. Нравиться? Контакт ленты GND и контакт Arduino GND (один из доступных) должны быть соединены. Давайте посмотрим на два примера.
  • Питание. Один цвет светодиода на максимальной яркости потребляет 12 миллиампер. Один светодиод имеет три цвета, всего ~ 36 мА на диод. Предположим, у вас есть ленточный измеритель с плотностью 60 диодов / метр, поэтому 60 * 36 = 2,1 А при максимальной яркости белого, соответственно, вам нужно получить блок питания, который с этим справится. Также нужно подумать, в каком режиме будет работать лента. Если это режим типа «радуга», то мощность можно принять равной половине максимальной.
  • Продолжая тему электроснабжения, хочу подчеркнуть важность качества сварки точек питания (подключение провода к ленте, подключение этого же провода к блоку питания), а также толщины провода. Как показывает мой опыт, нужно брать провод сечением не менее 1,5 квадрата, если требуется максимальная яркость. Пример: на проводе 0,75 мм2 на длине 1,5 метра при токе 2 Ампер падает 0,8 вольт, что критично для источника питания 5 вольт. Первый признак падения напряжения: белый цвет, установленный программным обеспечением, не светится белым, а дает желтый / красный цвет. Чем больше красного, тем больше упало напряжение!
  • Мигающая лента мешает силовой линии, и если лента и контроллер запитаны от одного источника, помеха переходит на микроконтроллер и может вызвать нестабильную работу, аномалии и даже перезагрузки (при слабом питании). Для смягчения этой помехи рекомендуется установить электролитический конденсатор на 6,3 В емкостью 470 мкФ (ставить больший нет смысла) для питания микроконтроллера, а также более «жирный» конденсатор (1000 или 2200 мкФ) мкФ) для подачи ленты. Они не обязательны, но очень желательны. Если вы замечаете сбои и сбои в системе (Arduino + лента + другое оборудование), причиной 50% является питание.
  • Медный слой на ленте не очень толстый (особенно на модели ECO), поэтому напряжение начинает падать от точки подключения питания по ленте — чем выше яркость, тем больше просадка. Если вам нужно сделать большой яркий кусок ленты, мощность нужно удвоить с помощью медного провода, который составляет 1,5 (или больше, вы должны поэкспериментировать) квадратов на каждый метр.

ОТ ЧЕГО ПИТАТЬ ЛЕНТУ

Сетевые блоки питания:

  • Адаптер 12В 2А — купить в России
  • Адаптер 12В 6А — купить в России
  • Адаптер 5V 3A — купить в России
  • Блок питания 5V 12A — купить в России
  • Блок питания 5V 20A — купить в России
  • Блок питания 5V 40A — купить в России
  • Мощные aliexpress, aliexpress, поиск блоков питания
  • Блоки питания aliexpress, aliexpress, поиск

Самый простой и понятный вариант — мощный блок питания на 5 Вольт. Если поблизости есть постоянный источник 12 В, вы можете выбрать меньшее значение и установить его на 5 Вольт. Но часто возникает желание сделать «беспроводное» устройство с бортовым питанием. Как быть в этом случае? Согласно даташиту на WS2812b, светодиод будет работать с напряжением 3,5-5,5 Вольт, по сути, как и сама Ардуино. Помните, что при питании ленты менее 5 Вольт максимальная яркость будет уменьшаться. Итак, у нас есть следующие варианты:

  • Powerbank 5V — берем провод с розеткой USB и подключаем по схемам выше. Мы не питаемся Arduino, это невозможно. Знаете, емкость пауэрбанков очень высока. С током обычно можно снять 2 Ампер, есть пауэрбанки на 3А
  • Батарейки: Можно взять обычные батарейки АА, 3 штуки полностью заряженные (дадут 4,5 Вольт) или 4 слегка разряженные (дадут 5,5 Вольт). Емкость аккумулятора очень низкая. С током можно снять 1-2 Ампера (щелочной, литиевый. Физраствор прямо в помойке)
  • Никелевые аккумуляторы: имеют напряжение ~ 1,4В после зарядки, можно смело ставить 4 штуки (~ 5,5 Вольт). Емкость группы вполне приличная (до 2700 мА * ч), ток снимается на 2-3 Ампера
  • Литиевые батареи: напряжение в процессе разряда меняется от 4,2 до 3,0 вольт, значит, ленту можно запитать, но она будет светить на 10-30% меньше. Также нельзя забывать следить за напряжением, литий боится чрезмерного разряда. Емкость — много банок можно ставить параллельно, из текущих — 3 А можно снять с обычных банок (если стоят параллельно, то с каждой)

Вот проблемы недорогих блоков питания и способы их решения.

  • Литиевый акум + буст — отличный способ поддерживать полную яркость при небольшом количестве светодиодов, у китайцев большой буст с литиевого (3-4,2 В) до 5 Вольт с максимальным током до 2 Ампер. Рассмотрим такой же павербанк, но можно и компактнее разместить.

Читайте также: СКУД на Ардуино: копирование домофонных ключей и подключение RFID-замка

Оцените статью
Блог про Arduino