Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail

    info@3d-diy.ru — отдел продаж

    support@3d-diy.ru — тех. поддержка

    Адрес
    Москва, Павловская улица, 27с7
    м. Тульская
    Режим работы
    пн – пт 11:00—19:00
    8.05 – 11.05 не работаем
    3DIY
    3D принтеры
    Материалы для 3D печати
    Комплектующие 3D принтера
    Arduino и робототехника
    Комплектующие ЧПУ станка
    Инструменты
    Запчасти для 3D принтеров по брендам
    Товары снятые с продажи
    • 3D принтеры
      • Печать пластиком (FDM/FFF)
        Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
        Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
        Печать воском (MJP)
      • Для дома
        Для дома
      • Для бизнеса
        Для бизнеса
      • Для производства
        Для производства
      • Наборы для сборки
        Наборы для сборки
      • Промышленные
        Промышленные
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Материалы для 3D печати
      • Пластики
        Пластики
        • ABS
        • PLA
        • PETG
        • HIPS
        • PVA
        • FLEX (TPU)
        • Nylon/PA (Нейлон)
        • PC (Поликарбонат)
        • PEEK
        • POM (Полиацеталь)
        • PP (Полипропилен)
        • Резина
        • Стеклонаполненные
        • Термочувствительные
        • Угленаполненные
        • SBS
        • Светящиеся
        • Металлические
        • Спец. пластик
        • Пластик для 3D ручек
      • Фотополимеры
        Фотополимеры
        • Стандартные
        • ABS-типа
        • Гибкие
        • Водосмываемые
        • Выжигаемые
        • Инженерные
        • Стоматологические
        • Для хобби
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Комплектующие 3D принтера
      • Электроника
        Электроника
        • Платы управления
        • Шаговые двигатели (ШД)
        • Драйверы ШД 3D принтеров
        • Драйверы шаговых двигателей ЧПУ
        • Дисплеи
        • Датчики и модули
        • Блоки питания
        • Реле
        • Концевые выключатели
        • Вентиляторы      
          • Вентиляторы осевые
          • Вентиляторы радиальные (улитки)
          • Решетки и фильтры для вентиляторов
        • Провода, кабели и разъемы
      • Механика
        Механика
        • Зубчатые шкивы
        • Зубчатые ремни
        • Трапецеидальные винт-гайки
        • Шарико-винтовые передачи (ШВП)      
          • Гайки ШВП
          • Модули крепления гаек ШВП
          • Обратотанные ШВП
          • Опоры ШВП
        • Соединительные муфты
        • Ролики для зубчатых ремней
        • Цилиндрические направляющие
        • Рельсовые направляющие      
          • Профильные направляющие HIWIN
          • Профильные направляющие КИТАЙ
        • Держатели вала
        • Корпусные детали      
          • Корпуса
          • Апгрейды
          • Комплектующие для корпусов
        • Запчасти OpenBuilds
        • Подшипники качения
        • Пружины
      • Нагревательные столы и сопутствующие
        Нагревательные столы и сопутствующие
        • Нагревательные платформы
        • PEI пластины
        • Стекла и Зеркала
        • Теплоизоляция
        • Основания для столов
        • Силиконовые проставки (пружины)
        • Термисторы
        • Зажимы-фиксаторы
        • Пружины
      • Экструдеры
        Экструдеры
        • Экструдеры и механизмы подачи
        • Хотэнды
        • Сопла
        • Термобарьеры
        • Термисторы
        • Нагревательные блоки
        • Теплоизоляция нагревательных блоков
        • Тефлоновые трубки
        • Радиаторы
        • Нагревательные элементы
        • Шестерни
        • Фитинги
        • Сопутствующие товары
      • Сушилки для пластика
        Сушилки для пластика
      • УФ-камеры
        УФ-камеры
      • Мойки
        Мойки
      • Ультразвуковые ванны (мойки)
        Ультразвуковые ванны (мойки)
      • 3D ручки
        3D ручки
      • 3D-сканеры
        3D-сканеры
      • Расходные материалы для SLA / LCD
        Расходные материалы для SLA / LCD
      • Сопутствующие
        Сопутствующие
      • Наборы для мейкеров
        Наборы для мейкеров
      • Инструменты для 3D печатника
        Инструменты для 3D печатника
      • Постобработка
        Постобработка
      • Адгезивы
        Адгезивы
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Arduino и робототехника
      • Arduino
        Arduino
      • Raspberry Pi
        Raspberry Pi
        • Микрокомпьютеры
        • Дисплеи      
          • TFT-LCD дисплеи Raspberry Pi
          • IPS-LCD дисплеи Raspberry Pi
          • AMOLED дисплеи Raspberry Pi
        • Корпуса
        • Шилды
        • Камеры
        • Питание
        • Охлаждение
      • Обучающие наборы
        Обучающие наборы
      • Orange Pi
        Orange Pi
      • Одноплатники
        Одноплатники
      • Модули
        Модули
        • Платы расширения
        • Беспроводные модули
        • Интерфейсы
        • Релейные модули
        • Преобразователи питания
        • Лазерные модули
        • Аудио
        • Видео
        • Клавиатура
        • Драйверы моторов
        • Измерительные
        • Другие
      • Датчики
        Датчики
        • Аудио
        • Газа
        • Инфракрасные
        • Климатические
        • Жидкостные
        • Механического воздействия
        • Положения (акселерометры/компасы/гироскопы)
        • Пространства
        • Света и цвета
        • Тактильные
        • Тока и напряжения
      • Дисплеи
        Дисплеи
        • TFT-LCD дисплеи
        • STN-LCD дисплеи
        • LED дисплеи
        • OLED дисплеи
        • Дисплеи DWIN
        • E-Paper дисплеи
      • Механика
        Механика
        • Колёса
        • Коллекторные двигатели
        • Сервоприводы
        • Шаговые двигатели
        • Другие
        • Линейные актуаторы (приводы)
      • Макетные платы
        Макетные платы
      • Светодиоды
        Светодиоды
        • Светодиодные кольца
        • Светодиодные матрицы
        • Сегментные индикаторы
        • Светодиоды круглые
        • Другие
      • Провода и кабели
        Провода и кабели
      • Источники питания
        Источники питания
      • Радиодетали
        Радиодетали
        • Кварц
        • Кнопки
        • Конденсаторы
        • Резисторы
        • Транзисторы
        • Другие
        • Стабилизаторы
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
        Шаговые двигатели и аксессуары
        • NEMA 8
        • NEMA 11
        • NEMA 14
        • NEMA 17
        • NEMA 23
        • NEMA 34
        • NEMA 42
        • NEMA 52
        • Шаговые актуаторы
        • Шаговые двигатели с редуктором      
          • C планетарным редуктором
          • C цилиндрическим редуктором
        • Шаговые двигатели с тормозом
        • Круглые шаговые двигатели
        • Сопутствующие
      • Зубчатые ременные передачи
        Зубчатые ременные передачи
        • Зубчатые ремни      
          • Зубчатые ремни GT2
          • Зубчатые ремни HTD 3M
          • Зубчатые ремни HTD 5M
          • Зубчатые ремни T2.5
          • Зубчатые ремни T5
        • Зубчатые шкивы      
          • Зубчатые шкивы GT2
          • Зубчатые шкивы HTD 3M
        • Ролики
      • Шарико-винтовые передачи (ШВП)
        Шарико-винтовые передачи (ШВП)
        • Готовые ШВП, обработанные
        • Гайки ШВП
        • Опоры ШВП
        • Модули крепления гаек ШВП
        • Кронштейны-опоры ШВП
      • Трапецеидальные передачи винт-гайка
        Трапецеидальные передачи винт-гайка
        • Винты трапецеидальные
        • Гайки трапецеидальные
        • Муфты Oldham
        • Сопутствующие
      • Цилиндрические направляющие
        Цилиндрические направляющие
        • Полированные валы
        • Цилиндрические рельсы
        • Линейные подшипники
        • Модули с линейным подшипником
        • Втулки скольжения
        • Держатели вала
        • Пластиковые втулки скольжения
      • Профильные направляющие
        Профильные направляющие
        • Профильные направляющие HIWIN      
          • Каретки HIWIN
          • Рельсы HIWIN
        • Профильные направляющие      
          • Каретки
          • Рельсы
        • Роликовые направляющие
      • Муфты соединительные
        Муфты соединительные
        • Жесткие
        • Кулачковые
        • Спиральные
        • Мембрнные
        • Сильфонные
        • Пружинные
        • Гибкие
      • Электроника
        Электроника
        • Блоки питания
        • Вентиляторы электрические и аксессуары      
          • Вентиляторы осевые
          • Вентиляторы радиальные (улитки)
          • Решетки и фильтры для вентиляторов
        • Драйверы шаговых двигателей
        • Микропереключатели и концевики
        • Датчики касания инструмента
        • Кнопки и индикаторы
      • Фрезы
        Фрезы
        • Спиральные фрезы      
          • Стружка вверх
          • Стружка вниз
        • Компрессионные фрезы
        • Прямые фрезы
        • Конусные фрезы
        • Сферические фрезы
        • Фрезы рашпильные (кукуруза)
        • Цанги
        • Сопутствующие
      • Карбоновый профиль / трубки
        Карбоновый профиль / трубки
      • Пневматическое оборудование
        Пневматическое оборудование
        • Регуляторы давления, фильтры, лубрикаторы
      • Системы подачи смазки
        Системы подачи смазки
        • Автоматические смазочные насосы
        • Ручные смазочные насосы
        • Маслораспределительные аксессуары
      • Сопутствующие
        Сопутствующие
      • Шпиндели и сопутствующие
        Шпиндели и сопутствующие
        • Шпиндели воздушного охлаждения
        • Шпиндели жидкостного охлаждения
        • Частотные преобразователи
        • Крепления для шпинделей
        • Системы охлаждения шпинделей
        • Подведение СОЖ
        • Прижимы для шпинделей
        • Распылители масляного тумана
        • Щетка-насадка для шпинделя
        • Сопутствующие для шпинделей
      • Механика
        Механика
        • Кабель-каналы гибкие
        • Подшипники качения
        • Подшипниковые узлы
      • Конструкционный профиль
        Конструкционный профиль
        • Сухари пазовые
        • Т-болты
        • Т-гайки
        • Серия 15      
          • Анодированный
          • Без покрытия
        • Серия 20      
          • Анодированный
          • Без покрытия
        • Серия 20 (V-паз)      
          • Анодированный
          • Без покрытия
        • Серия 30      
          • Анодированный
          • Без покрытия
        • Серия 40      
          • Анодированный
          • Без покрытия
        • Серия 45      
          • Анодированный
          • Без покрытия
        • Серия 50      
          • Анодированный
          • Без покрытия
      • Комплектующие OpenBuilds
        Комплектующие OpenBuilds
        • Ролики OpenBuilds
      • Лазерные станки
        Лазерные станки
      • Лазерная резка и аксессуары
        Лазерная резка и аксессуары
        • Блоки розжига
        • Воздушные компрессоры
        • Датчики
        • Крепление лазерной трубки
        • Лазерные головки и держатели зеркал
        • Полупроводниковые лазерные модули
        • Системы охлаждения
        • Системы управления (Контроллеры)      
          • Контроллеры RuiDa
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Инструменты
      • Зачистка и обрезка кабеля
        Зачистка и обрезка кабеля
      • Измерительный инструмент
        Измерительный инструмент
        • Мультиметры
      • Кабель и провода
        Кабель и провода
        • Акустический кабель
        • Высоковольтный кабель
      • Клеевые пистолеты (термопистолеты)
        Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
        Напильники и надфили
      • Обжимной инструмент
        Обжимной инструмент
      • Отвертки
        Отвертки
      • Паяльное оборудование
        Паяльное оборудование
        • Наборы для паяльных работ
        • Отсосы припоя
        • Паяльные принадлежности
        • Паяльные станции
        • Припой
        • Электрические паяльники
      • Пинцеты
        Пинцеты
      • Расходные материалы
        Расходные материалы
        • Изолента
        • Клеевые стержни
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Запчасти для 3D принтеров по брендам
      • 3DIY printers
        3DIY printers
        • Bizon 3
        • STRATEX 350
        • STRATEX 500
        • REX 6K Mono
        • P3 Steel 200 PRO
        • P3 Steel 300 PRO
        • P3 Steel 300 DUAL PRO
      • Bambu Lab
        Bambu Lab
        • Bambu Lab A1 mini
        • Bambu Lab A1
        • Bambu Lab P1 Series
        • Bambu Lab X1 Series
      • Creality
        Creality
        • Creality K1
        • Creality K1 MAX
        • Creality K1C
        • Creality K2 plus
      • Flashforge
        Flashforge
        • Adventurer 5M / 5M Pro
      • Qidi
        Qidi
        • Qidi Tech X-Plus 3
        • Qidi Tech X-Max 3
        • QIDI Plus 4
        • Qidi Q1 Pro
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Товары снятые с продажи
        Phrozen
        FlyingBear
        QIDI
        CreatBot
        FlashForge
        Bambu Lab
        ERYONE
        Elegoo
        eSUN
        Creality
        BIGTREETECH
        Anycubic
      Войти
      0Избранное
      0Корзина
      3D принтерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУРобототехникаЗапчасти 3D принтеров по брендам
      3DIY
      Войти
      0Избранное
      0Корзина
      3DIY
      Телефоны
      8 (800) 500-45-93отдел продаж Россия
      8 (495) 565-35-93отдел продаж Москва
      E-mail

      info@3d-diy.ru — отдел продаж

      support@3d-diy.ru — тех. поддержка

      Адрес
      Москва, Павловская улица, 27с7
      м. Тульская
      Режим работы
      пн – пт 11:00—19:00
      8.05 – 11.05 не работаем
      0
      0
      • Колумбус
      • Кабинет
      • 0Избранное
      • 0Корзина
      • Бренды
      • Акции
      • Услуги
        • Услуги
        • 3D печать
          • 3D печать
          • 3D печать пластиком FDM/FFF
          • 3D печать фотополимером
      • Компания
        • Компания
        • О компании
        • Реквизиты
        • Партнеры
        • Клиенты
        • Вакансии
      • Блог
      • Информация
        • Информация
        • Гарантия на товар
        • Возврат товара
        • Политика конфиденциальности
        • Договор-оферта
        • FAQ
      • Контакты
        • Контакты
        • Как до нас добраться
      8 (800) 500-45-93отдел продаж Россия
      • Телефоны
      • 8 (800) 500-45-93 отдел продаж Россия
      • 8 (495) 565-35-93 отдел продаж Москва
      • info@3d-diy.ru — отдел продаж

        support@3d-diy.ru — тех. поддержка

      • Москва, Павловская улица, 27с7
        м. Тульская
      • пн – пт 11:00—19:00
        8.05 – 11.05 не работаем
      Главная
      Блог
      Компоненты
      Адресные светодиоды. WS2812B, WS2812S

      Адресные светодиоды. WS2812B, WS2812S

      Адресные светодиоды. WS2812B, WS2812S
      Компоненты

      Содержание:

      • Назначение и принцип работ
      • Разновидности
      • Технические характеристики WS2812B
      • Подключение к Ардуин 
      • Примеры использования
      • Недостатки и ограничения
      • Выводы
      • FAQ


      Назначение и принцип работы

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

      led-3.jpg

      Хотя нет, останься, ты еще пригодишься в качестве равноправного компонента светодиода адресного. А в боевые товарищи дадим тебе чип WS2811!

      Итак, что изменилось и какое преимущество дает присвоение каждому RGB-светодиоду индивидуального контроллера? Во-первых, контроллер главный (в нашем случае Ардуино), освобождается от недостойной его задачи формировать по три  ШИМ-сигнала для каждого светодиода, теперь этим займется WS2811. Прежде чем озвучить “во-вторых”, давайте, для примера, представим что нам необходимо сделать игрушечный светофор из трех светодиодов с плавным переключением сигналов. Потребуется 9 пинов, из которых на UNO ШИМом обладает всего 6. То есть для такой простой задачи уже готовим целую MEGA. Если же нам захочется чуть большего, то проблемы вырастут до размеров, недоступных для решения одним контроллером. Давайте теперь представим минимальный цветной светодиодный куб 4х4х4. 64 светодиода, 192 управляющих сигнала, не считая питания, жгут из проводов толщиной в два пальца, дополнительные генераторы ШИМ или, что еще страшнее, ЦАПы, охапка резисторов, горсть прочих радиодеталей, невероятная программа, чтобы этим всем управлять и так далее. Такой куб больше будет похож на ворох проводов, сквозь которые едва пробивается свет. Вот теперь скажу “во-вторых”. В-вторых, адресные светодиоды могут подключаться “паровозиком” один к другому и всего тремя проводами, включая питание. Собираться в цепочки до нескольких сотен штук, при этом каждый будет самостоятельно светить своим собственным цветом, который ему, между прочими делами, назначит Ардуино. И в-третьих, для передачи команд всей этой цепочке от Ардуино потребуется всего один пин. Причем, любой, а не только из шести генерирующих широтно-импульсную модуляцию. К другому пину может подключаться следующая цепочка и так далее, один контроллер, при необходимости, может одновременно управлять несколькими независимыми лентами. Такие возможности позволяют легко использовать светодиоды в качестве пикселей и формировать цветную картинку, переливающуюся гирлянду, создавать художественную подсветку и LED-экраны любого размера. Применений можно придумать тысячи.

      Хорошим подспорьем в расширении возможностей является высокая скорость обновления информации. Цепочка из 100 адресных светодиодов получает данные всего за 3 мс, то есть, в теории, может работать с частотой до 300 кадров в секунду. Это позволяет не только формировать любые цветные изображения, но и запросто анимировать их.

      Svetodiodnaya-lenta-Arduino-12.gif

      Адресные светодиоды бывают разные, о чем вкратце расскажу чуть позже, но принцип работы у них схожий. Рассмотрим самый распространенный вариант - WS2812b.

      ws2812b.jpg

      Две ножки питания, вход и выход. Команда приходит на входную ножку в виде последовательности 24 битов, по 8 на каждый цвет. Так как синхроимпульс отсутствует, ноль и единица отличаются длительностью: 0,4 мкс - ноль, 0,85 - единица. На один бит тратится 1,25 мкс, на один светодиод команда передается, соответственно, за 30 мкс. Скорость передачи, таким образом, составляет 800 кбит/с. В каждом чипе, в качестве конкретно ему адресованной команды, остается последние перед завершением передачи 24 бита, все предыдущие он транслирует на выход, передавая информацию по цепочке дальше. Окончанием пакета данных является пауза на низком уровне в течение 50 мкс, после чего каждый чип формирует сигналы на своих светодиодных ножках согласно “замершей” в нем информации. Цвет установлен и будет сохраняться до приема следующей команды.

      Вот так в реальности выглядит передача данных на один светодиод:

      one_pixel.jpg

      24 бита и пауза. Данные можно расшифровать даже невооруженным глазом: 010110.. и так далее. Вот так все просто.


      Разновидности

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

      По типу:

      • WS2811 - отдельный чип без собственно светодиода в корпусе soic-8. К нему можно припаять старый добрый трехцветный светодиод или что-нибудь другое, что управляется ШИМ сигналом. Редко используется любителями ввиду сложности сборки на его основе.

      ws2811.jpg


      • WS2812B - пожалуй, самый популярный адресник на данный момент. Именно о нем мы будем говорить в этой статье и на нем работать с примерами. Размер 5х5 мм, частота ШИМ 400Гц. Подробнее в следующем разделе.

      • WS2812S - отличается от предыдущего раздельным питанием чипа и светодиода. Рекомендуется для особо длинных цепочек, так как напряжение на чипе не снижается так сильно от расстояния и не зависит от яркости свечения цепочки.

      • WS2812B-Mini - уменьшенная до размера 3,5х3,5 мм и менее яркая версия WS2812B.

      • WS2813 - улучшенная версия 2812, отличается повышенной до 2кГц частотой ШИМ и возможностью передавать сигналы по цепочке дальше даже через вышедший из строя чип. Рекомендуется для труднодоступных мест и изделий с повышенной надежностью.

      • SK6812-RGBW - светодиод состоит не из 3-х, а из 4-х компонентов, к красному, синему и зеленому добавлен белый. Такому светодиоду в сигнале требуется не 24, а 32 бита данных. Отличается более ярким свечением за счет мощного белого излучателя. Рекомендуется для освещения и подсветки больших объектов.

      sk6812.jpg

      По исполнению:

      • В виде лент, плотностью от 30 до 144 светодиодов на метр и в разном защитном исполнении: IP30, IP65, IP67, IP68. Все, кроме первого, могут использоваться на улице почти в любых погодных условиях.
      vidi_lent.jpg

      Ленты особенно удобны для создания подсветки, габаритных форм и угловатых фигур. Например, часов любого размера и формы.

      chasi.jpg

      • В виде отдельных “пикселей”, что нужно для различных тонких художественных применений, так как не ограничивают творца прямыми линиями.
      pixeli.jpg serdechko.jpg heart.gif
      • В виде стандартных, привычных глазу светодиодов диаметром 5 мм. Они излучают равномерно во все стороны, что особо ценится любителями праздничных гирлянд, 3Д-кубов и прочих объемных предметов.

      LED.jpg


      Технические характеристики WS2812B

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


      Подключение WS2812B к Arduino

      shema podkluchenia.jpg

      Схема проста до скуки. Важно лишь знать и соблюдать следующие правила:

      • Адресники довольно энергоемкие, блок питания должен быть рассчитан на максимальную мощность и даже чуть превышать ее. Один светодиод, напомню, потребляет до 60 мА. Для примера, лента со 100 диодами потребует 6 А, а лучше 8 А и более.
      • Ленты, длиннее пары десятков светодиодов, рекомендуется запитывать с двух сторон, а еще лучше в нескольких точках по всей длине, чтобы избежать падения напряжения с расстоянием и перегрева дорожек.
      • Ардуино и лента могут быть запитаны из разных источников, но “земля” у них должна быть едина.
      • Резистор на управляющем пине не обязателен, но очень желателен для защиты контроллера, иначе в случае даже кратковременного обрыва питания ленты пин моментально выгорит.


      Примеры использования

      Задача вывода информации на светодиоды непростая, требуется отправить одним пакетом много данных на большой скорости и с большой точностью. Даже при отключенных таймерах и прерываниях с этой частью работы успешно справляется лишь программа, написанная на ассемблере, то есть максимально близкая к машинному уровню. Поэтому без готовых библиотек любителю обойтись довольно сложно. Библиотек существует несколько, самыми известными из которых  являются NeoPixel и FastLed. Споры о том, какая из них лучше ведутся давно, выбирайте на свой вкус. Мне больше нравится NeoPixel, она ощутимо компактнее во флеше и занимает гораздо меньше динамической памяти контроллера. В примерах будем пользоваться именно ей.

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

      #define PIXEL_PIN 6 // номер управляющего пина #define PIXEL_COUNT 16 // количество пикселей (светодиодов) в ленте // объявление объекта: Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = количество пикселей (светодиодов) // Argument 2 = номер управляющего пина // Argument 3 = тип светодиода по порядку и количеству цветов, а также скорости передачи данных: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) 
      Первая строка - номер пина, вторая - количество светодиодов, третья - установка этих данных плюс выбор типа ленты и скорости передачи. По умолчанию назначена лента с цветностью RGB и скоростью 800 кГц, это подходит для WS2812B. Для SK6812 выбираем NEO_RGBW.

      Загружаем стандартный пример от библиотеки simple или strandtest_wheel, проверяем настройки, запускаем, любуемся.

      А теперь попробуем сделать что-то простое, но своё. Для этого изучим несколько простейших функций данной библиотеки с примерами и посмотрим на результаты. Поможет там в этом кольцо из 24-х светодиодов WS2812B.

      kolco_24.jpg

      Итак, первый пример. Выводим на кольцо три основных цвета RGB.
      #include <Adafruit_NeoPixel.h> #define PIN 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); // начинаем strip.setBrightness(50); // делаем яркость 50 (максимум 254) strip.show(); // ощищаем экран (рекомендуется при запуске для отключения случайных пикселей strip.setPixelColor(0, 0xFF0000); // красный strip.setPixelColor(1, 0x00FF00); // зеленый strip.setPixelColor(2, 0x0000FF); // синий strip.show(); // выводим } void loop() { } 

      Результат:

      RGB.jpg

      Немного комментариев.

      Команда setBrightness(50); устанавливает, можно так сказать, масштаб шкалы яркости. Максимальная яркость любого цвета (0xFF), используемая после этой команды, будет ограничена данным параметром, промежуточные значения уменьшаются пропорционально. Можно ей не пользоваться вовсе, но иногда это удобно, например, если требуется приглушить цвета оптом, не выискивая и меняя их во всей программе. В примере я установил яркость 50, чтобы цвета хорошо отображались, не ослепляя камеру.

      Команда setPixelColor(i, 0x00RRGGBB); также может принимать вид setPixelColor(i, R, G, B), где i - номер светодиода в ленте (начиная с 0), R, G, B - соответственно, яркость красного, зеленого и синего цвета по шкале от 0 до 254 в десятичном виде или от 0x00 до 0xFF в шестнадцатиричном. Примечание: первый вариант записи допускает только шестнадцатиричный вид, это 32-битное число (uint32_t), первые незначащие нули для лент RGB можно опустить. В примере я написал эту команду трижды с разными параметрами, тем самым присвоил каждому пикселю один из основных цветов.

      Команда show(); служит для отправки данных на ленту. Все, что делается до выполнения этой команды, является лишь подготовкой массива к отправке. На время вывода данных, как я уже говорил ранее, отключаются все прерывания и таймеры, это может повлиять на отсчет времени в контроллере, его реакцию на события и так далее, обязательно имейте это в виду.

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

      Следующий пример. Построим шкалу яркости, поднимая накал по десятке на каждый следующий светодиод.

       #include <Adafruit_NeoPixel.h> #define PIN 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); // начинаем strip.setBrightness(50); // делаем яркость 50 (максимум 254) strip.show(); // очищаем экран (рекомендуется при запуске для отключения случайных пикселей for (byte i = 0; i < 24; i++) { strip.setPixelColor(i, i * 10, 0, 0); // увеличиваем яркость каждого следующего светодиода на 10 } strip.show(); // выводим } void loop() { } 

      red.jpg

      Как видим, все прекрасно работает, разница заметна. Первый светодиод не горит, на нем 0, на последнем 230. Кстати, снимок не передает цветность полностью, в реальности разница еще заметнее.

      Заменяем строку внутри цикла на такую:

      strip.setPixelColor(i, i * 10, 240 - i * 10, 0); // плавно переливаемся от зеленого в красный 

      Результат:

      green-red.jpg

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

      Наконец, простейшая анимация - бегущая по кругу точка.

       #include <Adafruit_NeoPixel.h> #define PIN 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); // начинаем strip.setBrightness(50); // делаем яркость 50 (максимум 254) strip.show(); // ощищаем экран (рекомендуется при запуске для отключения случайных пикселей } void loop() { static byte i = 0; // адрес "бегущей" точки static byte old_i = 23; // предыдущий адрес "бегущей" точки strip.setPixelColor(i, 0xFF, 0, 0xFF); // выводим новую точку strip.setPixelColor(old_i, 0, 0, 0); // стираем старую точку strip.show(); i < 23 ? i++ : i = 0; // сдвигаем положение точки i == 0 ? old_i = 23 : old_i = i - 1; delay(100); // задержка между кадрами } 

      begushaya_tochka.gif

      Немного поколдовав с кодом можно сделать эффект интереснее:

      kolco_2.gif

      Из кусочков ленты собрать модные очки.

      ochki.gif

      Добавив акселерометр, изготовить динамическую подсветку для колеса.

      koleso.gif

      И даже имитацию открытого огня.

      ogon.gif

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


      Недостатки и ограничения

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

      Помехоустойчивость. Высокая скорость передачи данных без синхронизации и обратной связи проста, но имеет оборотную сторону - любая микроскопическая помеха портит весь пакет данных, превращая изображение в случайный набор пятен. При длине проводов от Ардуино до первого светодиода и между светодиодами более 10 см помехи начинают появляться просто “из воздуха” от наводок, статики и прочего электромагнитного шума. Частично этот эффект можно уменьшить, экранируя провода или просто скрутив в жгут сигнал и “землю”, но вероятность сбоев останется и будет расти с каждым лишним сантиметром. Совет: размещать пиксели как можно ближе.

      Температура. Зимой, при морозе от -15 градусов и ниже чипы WS2811 начинают “сходить с ума” и вовсе перестают работать, вероятно, из-за замерзания тактового генератора. Совет: при использовании на открытом воздухе заранее позаботиться о подогреве.

      Глубина цвета. Разница между максимально ярким и максимально тусклым светодиодом не так велика, как этого хотелось бы. Кроме того, светиться диоды начинают примерно с уровня 6-8 и сразу довольно ярко, то есть получить глубоких оттенков темных цветов на адресниках не получится. Совет: не ожидать качественного полноцвета и применять там, где этого не требуется.

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

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


      Выводы

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


      FAQ

        1. Можно ли управлять одним контроллером несколькими независимыми светодиодными лентами?

        Конечно, нужно лишь создать экземпляры класса Adafruit_NeoPixel, присвоив каждому свой индивидуальный пин. Рекомендую таким образом разбивать на части слишком длинные ленты.

        Adafruit_NeoPixel strip_1 = Adafruit_NeoPixel(24, PIN_1, NEO_GRB + NEO_KHZ800);

        Adafruit_NeoPixel strip_2 = Adafruit_NeoPixel(24, PIN_2, NEO_GRB + NEO_KHZ800);

        Adafruit_NeoPixel strip_3 = Adafruit_NeoPixel(24, PIN_3, NEO_GRB + NEO_KHZ800);

          2. Как управлять лентой с дополнительным белым цветом?

          Точно так же. Разница лишь в инициализации и дополнительном байте цвета.

          Инициализация:

          Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRBW + NEO_KHZ800);

          Выставление цвета пикселя:

          strip.setPixelColor(0, 0xRRGGBBWW);

            3. Что означает класс защиты светодиодной ленты?

            Цитируем стандарт:

            IP30. Защита от проникновения твердых объектов размером более 12 мм, пальцев рук или других предметов длиной не более 80 мм, или твердых предметов.

            IP65: Полная защита от проникновения пыли и случайного проникновения. Защита от попадания струй воды, падающих под любым углом.

            IP67: Полная защита от проникновения пыли и случайного проникновения. Защита от попадания воды при временном погружении в воду. Вода не вызывает порчи оборудования при определенной глубине и времени погружения.

            Это интересно

            Сдвиговые регистры
            Компоненты
            Сдвиговые регистры
            Адресные светодиоды. WS2812B, WS2812S
            Компоненты
            Адресные светодиоды. WS2812B, WS2812S
            Цифро-аналоговый преобразователь (ЦАП)
            Компоненты
            Цифро-аналоговый преобразователь (ЦАП)
            Резисторы
            Компоненты
            Резисторы
            Динамическая индикация
            Компоненты
            Динамическая индикация
            Транзисторы
            Компоненты
            Транзисторы
            • Комментарии
            Загрузка комментариев...
            Назад к списку
            • Все публикации248
              • 3D принтеры38
              • 3D печать57
              • ЧПУ10
              • Датчики27
              • Модули38
              • Arduino механика6
              • Arduino платы8
              • Дисплеи6
              • Кейсы1
              • Компоненты13
              • Мировые новости35
              • Проекты7
              • Сопутствующие2
            Связаться с нами
            8 (800) 500-45-93
            8 (800) 500-45-93отдел продаж Россия
            8 (495) 565-35-93отдел продаж Москва
            E-mail

            info@3d-diy.ru — отдел продаж

            support@3d-diy.ru — тех. поддержка

            Адрес
            Москва, Павловская улица, 27с7
            м. Тульская
            Режим работы
            пн – пт 11:00—19:00
            8.05 – 11.05 не работаем

            info@3d-diy.ru — отдел продаж

            support@3d-diy.ru — тех. поддержка

            Москва, Павловская улица, 27с7
            м. Тульская
            Магазин
            Бренды
            Акции
            Каталог
            Услуги
            Компания
            О компании
            Реквизиты
            Партнеры
            Клиенты
            Вакансии
            Информация
            Гарантия на товар
            Возврат товара
            Политика конфиденциальности
            Договор-оферта
            FAQ
            Помощь
            Условия оплаты
            Условия доставки
            Товары под заказ
            Гос. закупки
            Как сделать заказ
            Вопрос-ответ
            2013 - 2025 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
            Конфиденциальность
            Оферта
            ГлавнаяКаталог0Корзина0ИзбранныеКабинет
            Уважаемые клиенты
            8-9 мая - выходные
            С праздником!