Адресуемая светодиодная лента
Теория
КОМПОНЕНТЫ
ARDUINO
RASPBERRY
ИНТЕРФЕЙСЫ ПЕРЕДАЧИ ДАННЫХ
Изображение | Тип светодиодной ленты |
---|---|
Светодиодная лента на SMD2835, 12V | |
Светодиодная лента на SMD5050, 12V | |
USB светодиодная лента на SMD3528, 5V | |
Светодиодная лента на SMD3528, 3xAA | |
Светодиодная лента на SMD5050, 220V |
Изображение | Тип светодиодной ленты |
---|---|
RGB светодиодная лента на SMD5050, 12V |

Адресуемые светодиодные ленты WS2811 / WS2812 База знаний
RGB СВЕТОДИОДНАЯ ЛЕНТА
Изображение | Тип светодиодной ленты |
---|---|
RGB светодиодная лента на SMD5050, 12V |
Примеры адресуемых светодиодных лент:
Изображение | Контроллер |
---|---|
SP106E: управление пультом + светомузыка | |
SP105E: управление по Bluetooth | |
SP108E: управление по Wi-Fi |
Цветомузыка на Arduino Светодиодный Проект на Ws2812b
Итак, у вас есть или светодиоды WS2812b, или светодиодная лента из этих светодиодов, или светодиодное кольцо. Теперь хочется научиться всем этим управлять. Желательно так, как хочется, а не просто используя готовые решения.
Давайте вместе будем учиться делать это (я тоже хочу этому научиться).
Для управления я использую микроконтроллер Arduino. Осталось малость – научиться его программировать.
Думаю, что если вы попали в этот раздел, с Arduino так или иначе вы уже знакомы. Поэтому не буду подробно копипастить информацию с профильных ресурсов – плагиат мне не интересен. Для программирования я использую Arduino Software (IDE). Так же я пропущу то, как устанавливаются различные библиотеки для этой среды разработки – все это, повторюсь, есть на профильных форумах.
Итак, для управления «умными» светодиодами есть две основные библиотеки: Adafruit NeoPixel и FastLED. Я не могу сказать, чем они отличаются, в чем их достоинства и недостатки, ибо не знаю. Поэтому буду рад комментариям знающих людей.
Ну а начнем с самого простого – научимся просто зажигать произвольный светодиод произвольным цветом.
Как вы уже, наверняка, знаете, конструкция Arduino скетча выглядит так:
Две части, в которых мы описываем наши переменные, и их действие, причем вторая часть – эта то, что «воспроизводится» «по кругу» (ну не знаю я профессиональных терминов на этот счет).
Не копируйте его, поскольку я привел его для примера, с нумерацией строк, чтобы рассказать, что каждая строка означает.
Итак, первая строка. С ее помощью мы подключаем к нашей среде разработки библиотеку Adafruit_NeoPixel.h, в которой уже прописаны базовые функции.
Строка 2. В этой строке мы определяем переменную PIN, то есть номер пина на плате Ардуино, на который будут выводится результаты наших трудов, и который будет управлять светодиодами.
Строка 3. В этой строке определяем переменную NUMPIXELS, которая отвечает за количество светодиодов, используемых в нашей ленте. На самом деле, без этой переменной можно обойтись, указав количество светодиодов явным образом в тексте программы. Но, думаю, что признаком хорошего кода служит его универсальность.
Строка 7. В моем примере, в коде программы написано, что с помощью оператора strip.show(); мы гасим светодиоды в том диапазоне, который у нас указан в переменных программы. Но на самом деле, без этого оператора можно обойтись. Я пробовал – ничего не меняется.
Строка 9. Основная часть программы, которая выполняется «по кругу».
То есть, чтобы зажечь первый светодиод в ленте красным цветом, пишем:
Теперь о том, почему в строке 11 я написал в единственном и множественном числе одновременно. На самом деле, в 11 строке у нас происходит основная работа программы – мы определяем, какие светики должны гореть, и указываем их цвет.
#define PIN 6 // Это выход #6, куда подключено управление лентой.

Светодиодная снежинка: Arduino NANO WS2812B • EnableDevice
Протокол
Этот проект — простой способ начать работу, но идеи, которые он охватывает, могут быть расширены для действительно эффектного освещения. С помощью всего лишь нескольких компонентов вы можете создать свой собственный восход солнца. Если у вас есть стартовый комплект с Arduino, вы можете использовать любую кнопку или датчик для запуска светодиодов при входе в комнату, например:
Как мы видим, при открытии двери светодиодная лента Ардуино плавно зажигается и встречает человека.
Теперь, когда мы рассмотрели схему с обычной светодиодной лентой, перейдем к адресным светодиодным лентам SPI RGB лента.
Светодиодная лента Ардуино — Яркие идеи.
Эти ленты требуют меньшего количества компонентов для запуска, и есть некоторая свобода в отношении именно того, какие значения компонентов вы можете использовать. Конденсатор в этой цепи гарантирует, что светодиоды 5v получают постоянный источник питания. Резистор становится гарантом того, что сигнал данных, полученный от Arduino, не загружен всяческими помехами.
● Светодиодная лента 5v WS2811/12/12B; Все три модели имеют встроенные микросхемы и работают одинаково.
● 1 x конденсатор microFarad 100-1000 (все, что между этими двумя значениями, отлично подойдет);
Настройте схему, как показано на рисунке:
Обратите внимание, что конденсатор должен быть правильной ориентации.
Вы можете понять, какая сторона прикрепляется к рейке земля, ища знак минуса (-) на корпусе конденсатора. На этот раз мы задействуем Arduino, используя источник питания 5 В. Это позволит устройству работать автономно.
Во-первых, убедитесь, что ваша плата может работать с 5 В, прежде чем присоединить ее к источнику питания. Почти все платы работают на 5V через USB-порт, но штыри питания на некоторых могут иногда пропускать регуляторы напряжения и превращать их в поджаренные тосты.
Кроме того, рекомендуется убедиться, что несколько отдельных источников питания не подключены к Arduino — отсоединяйте USB-кабель всякий раз, когда используете внешний источник питания.
После того, как все подключено, прибор должен выглядеть так:
Теперь, когда разобрались со светодиодной лентой, давайте перейдем к коду.
Светодиодная лента Ардуино — Бегущий огонь или световая волна
Чтобы безопасно запрограммировать нашу плату, отсоедините линию VIN от линии электропередач. Вы подключите ее позже обратно.
Присоедините свой Arduino к компьютеру и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный в меню «Сервис»> «Сервис и инструменты»> «Порт».
Мы будем использовать библиотеку FastLED для тестирования нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена в среду IDE.
В разделе «Файл»> «Примеры»> «FastLED» выберите эскиз DemoReel100. В этом эскизе задействованы различные эффекты, которые можно сделать с помощью светодиодных полос WS2812, и невероятно легко настроить.

Ардуино светофор на digispark и ws2812b
Библиотеки
- Библиотека FastLED, разрабатывается Даниэлем Гарсиа и Марком Кригсманом. Имеет свой сайт, справочную систему и большое сообщество в ~5000 человек. Библиотека написана на чистом Си, без использования Wiring. FastLED поддерживает все виды Arduino (и не только), а так же умеет работать с кучей различных протоколов и интерфейсов. В том числе и протокол для управления лентами на светодиодах WS2812B.
- Библиотека Adafruit NeoPixel (Полное описание на нашем сайте), разрабатывается компанией Adafruit Industries. Предназначена для работы со светодиодными лентами и неопиксельными кольцами, продаваемыми в их интернет магазине. Библиотека написана на Си и Ассемблере с небольшим использованием Wiring. Эдакая солянка. Поддерживает все виды Arduino. Содержит меньший функционал по сравнению с FastLED, немного медленней, но имеет более компактный вид, только основное для работы.
Теперь давайте напишем наш излюбленный пример Blink, используя обе эти библиотеки, и затем сравним их.
