Меню

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

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

Адресная светодиодная лента WS2812B привлекает многих радиолюбителей за возможность создания интересных и ярких проектов на Ардуино с ws2812b светодиодами. Но прежде, чем приступать к новому крутому проекту, следует понять, как подключить и правильно управлять адресной лентой от Ардуино. Рассмотрим в этой статье несколько простых примеров по работе с WS2812B Arduino Uno.

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

Адресные ленты отличаются плотностью — от 30 до 144 светодиодов на метр, изготавливаются разном защитном исполнении: IP30, IP65, IP67, IP68. Все варианты исполнения, кроме IP30, могут применяться на улице в диапазоне температур от -25 до +80°C. Еще одна, более надежная лента — WS2813 отличается возможностью передавать сигналы дальше по цепочке даже через сгоревший чип.

Светодиодная лента WS2812B характеристики

  • Размер светодиода — 5 х 5 мм
  • Частота ШИМ — 400 Гц
  • Скорость передачи данных — 800 кГц
  • Размер данных — 24 бита на светодиод
  • Напряжение питания — 5 Вольт
  • Потребление при нулевой яркости — 1 мА на светодиод
  • Потребление при максимальной яркости — 60 мА на светодиод
  • Цветность: RGB, 256 оттенков на канал, 16 миллионов цветов

Адресная светодиодная лента ws2812b — это вершина эволюции лент. Каждый светодиод в ленте состоит из обычного RGB светодиода и контроллера с тремя транзисторными выходами. Благодаря этому есть возможность управлять цветом любого светодиода и создавать потрясающие цветовые и световые эффекты. Именно поэтому устройство пользуется популярностью, несмотря на высокую стоимость.

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

Многих интересует, как включить адресную ленту без Ардуино и проверить ее на работоспособность. Если просто подключить питание к ленте, то ничего не произойдет — проверить ленту без контроллера нельзя. Если задеть цифровой вход адресной ленты, то могут загореться несколько светодиодов из-за случайных помех, которые воспринимаются контроллерами ws2812b светодиодов, как команды.

Если под рукой нет платы Ардуино, то можно использовать для проверки специальный контроллер. В крайнем случае, просто потрогать цифровой провод, чтобы понять будут гореть светодиоды на ленте или нет. Другого надежного способа проверить работу ws2812b ленты нет, поэтому рассмотрим далее управление и программирование адресной светодиодной ленты на микроконтроллере Ардуино Нано или Уно.

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

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • лента WS2812B;
  • макетная плата;
  • 1 резистор от 100 до 500 Ом;
  • провода «папа-папа».

WS2812B светодиоды довольно энергоемкие, один светодиод потребляет до 60 мА при максимальной яркости. Для ленты со 100 диодами потребуется блок питания на 6 и более Ампер. Микроконтроллер Arduino и светодиодная лента могут быть подключены к разным источникам питания, но «земля» должна быть общая. Дело в том, что пин GND тоже участвует в управлении адресной лентой от платы Ардуино Уно.

Для работы с лентой используются три популярные библиотеки — FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки доступны для скачивания на нашем сайте здесь. Работать с библиотеками FastLED и Adafruit NeoPixel просто, отличаются они в функциональности и объеме занимаемой памяти. После сборки этой простой схемы и установки библиотек, загрузите скетч для адресной светодиодной ленты.

Скетч. Тестирование адресной ленты WS2812

Пояснения к коду:

  1. нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».

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

Скетч. Управление адресной лентой Ардуино

Пояснения к коду:

  1. с помощью библиотеки Adafruit NeoPixel довольно просто управлять адресной лентой. В примерах к библиотеке можно найти много различных эффектов. Мы продемонстрировали простой вариант с циклом for для включения ленты.

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

Источник



Цифровое управление светодиодными источниками света

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

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

Речь пойдет о трех типах источников света с цифровым управлением:

  • Пиксельные светодиодные ленты «Бегущий огонь»
  • Управляемый «Гибкий неон»
  • Светодиодные флеш-модули.

Все они устроены на базе RGB светодиодов, каждый из которых состоит из кристаллов красного (Red), зелёного (Green) и синего (Blue) свечения. Особенностью же этого класса светодиодного оборудования является наличие микросхем управления, которые монтируются на саму ленту или внутрь светодиодных модулей. Эти микросхемы делают возможным управление каждым отдельным светодиодом или группой из нескольких светодиодов. Один управляемый элемент называется «пиксель», а само освещение «пиксельным».

В зависимости от необходимого напряжения питания, варьируется и количество светодиодов в пикселе. Так в 5-вольтовых лентах и модулях управление происходит каждым светодиодом в отдельности, т. е. один пиксель состоит из одного светодиода. В таком случае микросхема может быть расположена в корпус самого светодиода. Если напряжение питания источников освещения составляет 12 В, то обычно один пиксель содержит 3 RGB светодиода, а для 24 В — 6 светодиодов. Встречаются также ленты с питанием 12 В и управлением каждым светодиодом отдельно.

Общее управление выполняется контроллером, созданным специально для цифрового управления пиксельным освещением. Их можно подразделить на три группы:

  • Контроллеры, световые эффекты которых были запрограммированы при их изготовлении. Число и набор программ в них постоянны и не изменяемы. Пользователь может лишь выбирать интересующую программу и настраивать скорость эффекта. Но, несмотря на это, подобные контроллеры всё равно могут продемонстрировать всю красоту динамической светодиодной подсветки, ведь некоторые из них, в зависимости от модели, могут содержать в своей памяти до 300 различных программ.
  • Контроллеры, программы которых были созданы пользователем на своем компьютере с помощью специальных программ и впоследствии записаны на SD-карту, которая устанавливается в контроллер.
  • Контроллеры, работающие онлайн. Управление ими происходит в режиме реального времени с персонального компьютера. Программы также составляются при помощи специализированного ПО, а подключение происходит через USB порт или при помощи сетевой карты компьютера через локальную сеть.

Важно обеспечить соответствие цвета в программе, воспроизводимому цвету, поэтому при настройке большинства контроллеров есть возможность указать необходимую последовательность каналов на светодиодной ленте, например, RGB, RBG, BGR и др. Для правильного воспроизведения эффектов также задается количество и расположение пикселей.

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

Не все контроллеры и драйверы совместимы между собой, но большинство контроллеров могут работать с несколькими моделями драйверов. О том, с какими типами драйверов совместим тот или иной контроллер, указывается в подробных технических характеристиках или в его программном обеспечении, если оно используется. Вид драйвера также указывается в параметрах светодиодных лента, флеш-модулей и «гибкого неона». Всё это нужно, чтобы правильно выбрать и настроить совместную работу контроллера и управляемых устройств. С течением времени списки совместимости контроллеров и драйверов расширяются, т. к. технический прогресс не стоит на месте.

Сами драйверы по принципу работы также подразделяются на два кардинально разных типа:

  • SPI-драйверы — в их работе применяется цифровой интерфейс SPI, от английского «Serial Peripheral Interface» — последовательный периферийный интерфейс. Эта группа более обширная, такие драйверы используются чаще.
  • DMX-драйверы — соответственно используют цифровой протокол управления DMX, от английского Digital Multiplex — цифровое мультиплексирование.

Каждый из типов драйверов имеет свои достоинства, о них мы и поговорим более подробно далее.

Цифровой интерфейс SPI

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

Передача информации, в зависимости от типа драйвера, может осуществляться по двум сигнальным проводам (DATA и CLK) или с использованием только одного сигнала (DATA). Первый вариант требует более сложного монтажа, но обеспечивает более устойчивую работу на высоких скоростях обмена, что гарантирует меньшую задержку распространения информации и, соответственно, более высокую частоту обновления информации, что важно, например, при создании мультимедийных экранов. В нашей таблице указаны основные параметры SPI-драйверов, используемых Arlight (список микросхем пополняется с появлением новых устройств).

Читайте также:  Комплект проводов заземления для шкафа шрн универсальный пз шрн цмо

Источник

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

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

  • Black PCB / White PCB — цвет подложки ленты, чёрная / белая
  • 1m/5m — длина ленты в метрах
  • 30/60/74/96/100/144 — количество светодиодов на 1 метр ленты. В видео использовалась лента 60 и 144 диодов на метр
  • IP30 лента без влагозащиты (как на видео)
  • IP65 лента покрыта силиконом
  • IP67 лента полностью в силиконовом коробе

Адресные ленты можно подключить к готовому контроллеру и переключать режимы пультом/со смартфона

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

Обычная светодиодная лента представляет собой ленту с напаянными светодиодами и резисторами, на питание имеет два провода: плюс и минус. Напряжение бывает разное: 5 и 12 вольт постоянки и 220 переменки. Да, в розетку. Для 5 и 12 вольтовых лент нужно использовать блоки питания. Светит такая лента одним цветом, которой зависит от светодиодов.

RGB светодиодная лента. На этой ленте стоят ргб (читай эргэбэ – Рэд Грин Блю) светодиоды. Такой светодиод имеет уже 4 выхода, один общий +12 (анод), и три минуса (катода) на каждый цвет, т.е. внутри одного светодиода находится три светодиода разных цветов. Соответственно такие же выходы имеет и лента: 12, G, R, B. Подавая питание на общий 12 и любой из цветов, мы включаем этот цвет. Подадим на все три – получим белый, зелёный и красный дадут жёлтый, и так далее. Для таких лент существуют контроллеры с пультами, типичный контроллер представляет собой три полевых транзистора на каждый цвет и микроконтроллер, который управляет транзисторами, таким образом давая возможность включить любой цвет. И, как вы уже поняли, да, управлять такой лентой с ардуино очень просто. Берем три полевика, и ШИМим их analogWrit’ом, изи бризи.

Адресная светодиодная лента, вершина эволюции лент. Представляет собой ленту из адресных диодов, один такой светодиод состоит из RGB светодиода и контроллера. Да, внутри светодиода уже находится контроллер с тремя транзисторными выходами! Внутри каждого! Ну дают китайцы блэт! Благодаря такой начинке у нас есть возможность управлять цветом (то бишь яркостью r g b) любого светодиода в ленте и создавать потрясающие эффекты. Адресная лента может иметь 3-4 контакта для подключения, два из них всегда питание (5V и GND например), и остальные (один или два) – логические, для управления.

Лента “умная” и управляется по специальному цифровому протоколу. Это означает, что если просто воткнуть в ленту питание не произойдет ровным счётом ничего, то есть проверить ленту без управляющего контроллера нельзя. Если вы потрогаете цифровой вход ленты, то скорее всего несколько светодиодов загорятся случайными цветами, потому что вы вносите случайные помехи, которые воспринимаются контроллерами диодов как команды. Для управления лентой используются готовые контроллеры, но гораздо интереснее рулить лентой вручную, используя, например, платформу ардуино, для чего ленту нужно правильно подключить. И вот тут есть несколько критических моментов:

1) Команды в ленте передаются от диода к диоду, паровозиком. У ленты есть начало и конец, направление движение команд на некоторых моделях указано стрелочками. Для примера рассмотрим ws2812b, у нее три контакта. Два на питание, а вот третий в начале ленты называется DI (digital input), а в конце – DO (digital output). Лента принимает команды в контакт DI! Контакт DO нужен для подключения дополнительных кусков ленты или соединения матриц.

2) Цифровой вход ленты идёт напрямую на «сырой» вход микроконтроллера внутри диода, поэтому между ним и управляющим пином ардуино нужен токоограничиваюший резистор с номиналом 100-500 ом, он ограничит ток, и управляющий пин ардуино не будет перегружаться. С чего ему грузиться? Закон ома. Точность резистора? Любая. Мощность резистора? Любая. Да, даже 1/4.

2.1) Если между лентой и контроллером (Arduino) большое расстояние, т.е. длинные провода (длиннее 10-15 см), то сигнальный провод и землю нужно скрутить в косичку для защиты от наводок, так как протокол связи у ленты достаточно скоростной (800 кГц), на него сильно влияют внешние наводки, экранирование земляной скруткой поможет этого избежать. Без этого может наблюдаться такая картина: лента не работает до тех пор, пока не коснёшься рукой сигнального провода.

Читайте также:  Магнитола пионер кассетная провода

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

4) Питание. Один цвет одного светодиода при максимальной яркости кушает 20 миллиампер. В одном светодиоде три цвета, итого 60 мА на диод. Пусть у вас есть метр ленты с плотностью 60 диод/метр, тогда 60*60 = 3.6 Ампера при максимальной яркости (белый цвет), соответственно нужно брать БП, который с этим справится, но заранее подумать, в каком режиме будет работать лента. Если это режимы типа «радуга», то мощность можно принять как половину от максимальной.

5) Продолжая тему питания, хочу отметить важность качества пайки силовых точек (подключение провода к ленте, подключение этого же провода к БП), а также толщину проводов. Как показывает мой опыт, брать нужно провод сечением минимум 1.5 квадрата, если нужна полная яркость. Пример: на проводе 0.75 кв.мм. на длине 1.5 метра при токе 2 Ампера падает 0.8 вольта, что критично для 5 вольт питания. Первый признак просадки напряжения: заданный программно белый цвет светит не белым, а отдаёт в жёлтый/красный. Чем краснее, тем сильнее просело напряжение!

6) Мигающая лента создаёт помехи на линию питания, а если лента и контроллер питаются от одного источника – помехи идут на микроконтроллер и могут стать причиной нестабильной работы, глюков и даже перезагрузки (если БП слабый). Для сглаживания таких помех рекомендуется ставить электролитический конденсатор 6.3В ёмкостью 470 мкФ (ставить более ёмкий нет смысла) по питанию микроконтроллера, а также более “жирный” конденсатор (1000 или 2200 мкФ) на питание ленты. Ставить их необязательно, но очень желательно. Если вы заметите зависания и глюки в работе системы (Ардуино + лента + другое железо), то причиной в 50% является как раз питание.

7) Слой меди на ленте не очень толстый, поэтому от точки подключения питания вдоль ленты напряжение начинает падать, чем больше яркость, тем больше просадка. Если нужно сделать большой и яркий кусок ленты, то питание нужно дублировать медным проводом 1.5 (или больше, надо экспериментировать) квадрата через каждый метр.

ПОЧЕМУ НЕ РАБОТАЕТ?!

Убедись, что земля ленты соединена с землёй ардуино КАК НА СХЕМЕ

Убедись, что сигнальный провод идёт в начало ленты (контакт DI) КАК НА СХЕМЕ

Убедись, что не перепутал 5в и GND. КАК НА СХЕМЕ

Цвет отдаёт в красный? У тебя слабый БП, некачественная пайка линии питания или слишком тонкие провода питания

Подключил без резистора и теперь не работает даже с резистором? Пин ардуино отбросил ласты, подключай в другой

WS2811 и WS2812b

Сейчас популярны два вида ленты: на чипах WS2812b и WS2811. В чём же разница? Чип WS2812 размещён внутри светодиода, таким образом один чип управляет цветом одного диода, а питание ленты – 5 Вольт. Чип WS2811 размещён отдельно, и от него питаются сразу 3 светодиода, таком образом можно управлять цветом сегментов по 3 диода в каждом. А вот питание у ленты на WS2811 составляет 12 вольт!

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

ВНИМАНИЕ! Во время загрузки и выполнения этого примера должно быть подключено внешнее питание! Иначе выгорит защита по току (диод) на плате Ардуино!

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

Пример с бегущей радугой

НЕКОТОРАЯ ИНФА

Цвет кодируется 3-мя байтами, то бишь глубина его составляет 24 бита. У нас есть три цвета, каждый кодируется число от 0 до 255, итого имеем 255*255*255 = 16 581 375 цветов, 16.6 миллионов оттенков может принимать КАЖДЫЙ светодиод в ленте. Цвета при программировании задаются в шестнадцатеричной кодировке вида 0xFFFFFF. Сам цвет здесь задаётся тремя байтами: красный зелёный синий, красный будет FF0000, синий 0000FF, зелёный 00FF00, то есть у каждого цвета есть яркость, которая задаётся шестнадцатеричным числом от 00 до FF. Например бледно жёлтый будет вот так 555500. При использовании библиотеки FastLED вам доступна куча преднастроенных цветов, их названия и коды можно посмотреть здесь.

Источник