Подключение rgb ленты к ардуино. Как подключить адресную светодиодную ленту WS2812B к Arduino: пошаговое руководство

Как правильно подключить адресную RGB-ленту WS2812B к Arduino. Какие библиотеки использовать для управления лентой. Как рассчитать питание для светодиодной ленты. На что обратить внимание при монтаже адресной ленты.

Содержание

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

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

  • Каждый светодиод содержит встроенный контроллер
  • Можно задавать цвет и яркость для каждого диода отдельно
  • Управление осуществляется по одному сигнальному проводу
  • Питание от 5В
  • Светодиоды RGB, что позволяет получить любой цвет
  • Высокая яркость и низкое энергопотребление

Благодаря этим характеристикам адресная лента WS2812B отлично подходит для создания различных световых эффектов и динамической подсветки. Ее часто используют для декоративного освещения, рекламных вывесок, светодиодных экранов и других проектов.


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

Для подключения адресной светодиодной ленты WS2812B к Arduino понадобится:

  • Плата Arduino (например, Arduino Uno или Nano)
  • Адресная лента WS2812B
  • Блок питания 5В
  • Резистор 470 Ом
  • Провода для соединения

Схема подключения выглядит следующим образом:

  1. +5В ленты подключается к +5В источника питания
  2. GND ленты — к GND источника питания и GND Arduino
  3. Управляющий контакт DIN ленты через резистор 470 Ом подключается к цифровому пину Arduino (например, D6)

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

Выбор блока питания для адресной ленты

Одна из основных проблем при работе с адресной лентой — обеспечение достаточной мощности питания. Как правильно рассчитать необходимый блок питания?

Потребление одного светодиода WS2812B при максимальной яркости белого цвета составляет около 60 мА. Соответственно, для расчета можно использовать формулу:


I = N * 60 мА

где I — требуемый ток блока питания, N — количество светодиодов в ленте.

Например, для ленты из 60 светодиодов потребуется блок питания на ток: 60 * 60 мА = 3,6 А.

Рекомендуется выбирать блок питания с запасом 20-30% по мощности. То есть в данном случае подойдет блок на 5А.

Программирование адресной ленты на Arduino

Для управления адресной лентой WS2812B на Arduino удобно использовать библиотеку FastLED. Она позволяет легко задавать цвета, яркость и создавать различные эффекты.

Базовый скетч для управления лентой выглядит так:


#include 

#define LED_PIN     6
#define NUM_LEDS    60

CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds
(leds, NUM_LEDS); } void loop() { // Здесь размещается код эффектов FastLED.show(); }

В этом базовом коде:

  • Подключается библиотека FastLED
  • Задается пин подключения и количество светодиодов
  • Создается массив для хранения цветов
  • В setup() инициализируется лента
  • В loop() размещается код эффектов и вызывается FastLED.show() для обновления ленты

Основные функции для управления адресной лентой

Библиотека FastLED предоставляет множество удобных функций для работы с адресной лентой WS2812B. Рассмотрим некоторые базовые:


  • leds[i] = CRGB::Red; — задать красный цвет для светодиода i
  • leds[i].setRGB(r, g, b); — задать произвольный цвет
  • FastLED.setBrightness(brightness); — установить яркость для всей ленты
  • fill_solid(leds, NUM_LEDS, CRGB::Blue); — заполнить всю ленту синим цветом
  • fill_rainbow(leds, NUM_LEDS, hue); — создать радугу на ленте

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

Советы по монтажу адресной ленты WS2812B

При установке и подключении адресной ленты WS2812B важно учитывать следующие моменты:

  • Соблюдать полярность подключения
  • Использовать провода достаточного сечения для питания
  • Подавать питание с обоих концов длинной ленты
  • Защищать ленту от влаги и пыли
  • Обеспечить теплоотвод при высокой яркости
  • Не допускать механических повреждений ленты

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

Создание эффектов для адресной светодиодной ленты

Адресная лента WS2812B позволяет создавать множество интересных световых эффектов. Рассмотрим несколько популярных вариантов:


Бегущие огни

Эффект бегущих огней можно реализовать следующим кодом:


void runningLights() {
  static int position = 0;
  
  for(int i = 0; i < NUM_LEDS; i++) {
    int pixelHue = map(i + position, 0, NUM_LEDS, 0, 255);
    leds[i] = CHSV(pixelHue, 255, 255);
  }
  
  FastLED.show();
  position++;
  if(position == NUM_LEDS) position = 0;
  
  delay(50);
}

Случайное мерцание

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


void randomTwinkle() {
  for(int i = 0; i < NUM_LEDS; i++) {
    if(random(10) == 0) {
      leds[i] = CHSV(random(255), 255, 255);
    } else {
      leds[i].fadeToBlackBy(10);
    }
  }
  FastLED.show();
  delay(50);
}

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

Типичные ошибки при работе с адресной лентой WS2812B

При подключении и программировании адресной ленты WS2812B новички часто допускают некоторые ошибки. Вот на что стоит обратить внимание:

  • Неправильная полярность подключения - это может привести к выходу ленты из строя
  • Недостаточная мощность блока питания - приводит к некорректной работе ленты
  • Отсутствие общего GND между Arduino и лентой
  • Неверное указание типа ленты в коде (например, GRB вместо RGB)
  • Слишком большая нагрузка на выход Arduino - нужно использовать отдельное питание

Внимательность при подключении и настройке поможет избежать этих распространенных ошибок и обеспечить стабильную работу адресной ленты.



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

  • Авторы
  • Руководители
  • Файлы работы
  • Наградные документы

Левченко О.С. 1


1МАОУ Лицей 38

Еделев А.Ю. 1


1МАОУ Лицей 38

Автор работы награжден дипломом победителя I степени

Диплом школьникаСвидетельство руководителяДиплом школьникаСвидетельство руководителя

Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

Актуальность: использование перспективной технологии вывода информации с микроконтроллеров, экономия контактов ввода вывода по отношению к стандартным интерфейсам и методам (декодер, различные шины передачи данных занимают больше пинов)

Цель: создать табло со светодиодной индикации на основе цифровой RGB ленты, запрограммировав его так, чтобы выводилось время на данный момент и с помощью датчика кнопки регулировать яркость и цвет часов

Задачи исследования:

1.

Провести и изучить теоретический обзор и анализ предметной области исследования

2. Разработка электрической принципиальной схемы изделия для проведения исследования

3. Проектирование корпуса изделия на 3-D принтере

3. Реализация схемы исследования на основе цифровой RGB ленты и Arduino

4. Подключение датчика часов реального времени и кнопки

5. Написание скетча и его загрузка

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

Объект исследования: адресная светодиодная лента

Предмет исследования: Микроконтроллер «Arduino».

Глава 1

1. 1 Аппаратная часть Arduino

Arduino — торговая марка аппаратно-программных средств для построения систем автоматики и робототехники. Физически Arduino представляет собой небольшую печатную плату

Все платы Arduino содержат основные компоненты, необходимые для программирования и совместной работы с другими схемами (рис. 1.1)

Рис. 1.1. Компоненты платы Arduino Uno

1.4 Среда разработки Arduino

Интерфейс среды разработки Arduino IDE содержит следующие основные элементы: текстовый редактор для написания кода, область для вывода сообщений, текстовая консоль, панель инструментов с традиционными кнопками и главное меню. Данный софт позволяет компьютеру взаимодействовать с Ардуино как для передачи данных, так и для прошивки кода в контроллер. Самая важная особенность Arduino — непосредственное программирование через USB-порт.

Глава 2

2.1 Технические характеристики адресной светодиодной ленты

Лента состоит из RGB пикселей WS2812B в корпусе LED 5050.(Рис1.2 )

Каждый пиксель содержит в себе красный, зелёный и синий светодиоды и контроллер ШИМ, с помощью которого можно управлять яркостью каждого светодиода и получать множество различных цветов из трёх основных. (Рис1.3 светодиод WS2812B)

Рис1.10 светодиод WS2812B Рис1.2 адресная светодиодная лента

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

2.2 Типы адресных матриц

Параллельное соединение

Схема 1

Плюсы:

1.Основная нагрузка по току ложится на силовые провода, а не на ленту

2.Гораздо меньше пайки

Минусы:

1.Возможны помехи из-за длины логического провода

2.Сложность пайки к общему силовому проводу

Последовательное соединение

Схема 2

Плюсы:

1.Выглядит опрятно.

2.Короткие провода

3.Удобно паять

4.Надежная передача сигнала

Минусы:

1. Потеря тока по длине ленты

2.Много паять

В моем проекте я использовала параллельное соединение

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

1) Команды в ленте передаются от диода к диоду. У ленты есть начало и конец, направление движение команд на некоторых моделях указано стрелочками.

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

Глава 2. 2

2.8 Проектирование корпуса изделия

Рис 1.17 Каркас

Для того чтобы было комфортно смотреть на светодиоды, и они не «слепили» глаза человеку, был сделан экран из бумажного фильтра и оргстекла толщиной в 0,5 мм

Рис 1.18 Экран

Спроектирован корпус изделия с помощью стандартных средств в программе Компас 3D, данный корпус для данного изделия напечатан на 3D принтере ANYCUBIC 4 MAX

Рис 1.19 корпус

Глава 3

3.1 Схема подключения на основе цифровой RGB ленты и Arduino к датчикам часам реального времени, кнопки, влажности

Схема 8

На практике

Схема 9 Подключения на основе цифровой RGB ленты и Arduino к датчику часам реального времени, кнопки, дисплея, влажности и температуры

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

Заключение

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

На сегодняшний день, IT-технологии стремительно развиваются, стараясь автоматизировать все сферы деятельности. Локомотивом практического применения новых цифровых технологий являются промышленные предприятия, руководство подавляющего большинства которых уже в полной мере осознаёт необходимость интегрироваться в цифровую среду. Исследования показывают: те предприятия, кто успешно пользуется цифровыми технологиями в своей деятельности, более конкурентоспособны, чем те, кто отстает в своей «цифровой зрелости»

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

Список используемых источников и литературы

Джереми Блум Изучаем Arduino- инструменты и методы технического волшебства (2015)

Программируем Arduino. Саймон Монк

Arduino и Raspberry Pi впроектах Internet of Things. Виктор Петин

Платт Чарльз » Электроника для начинающих

https://all-arduino.ru/

http://arduino-diy.com/arduino-chasy-realnogo-vremeni-DS1307

http://edurobots.ru/2017/05/arduino-real-time-clock-ds3231/

Просмотров работы: 506

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

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

Адресные светодиодные ленты

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

Сегодня наибольшей популярностью пользуются разноцветные светодиодные ленты RGB-формата, позволяющие получать множество цветов. Благодаря конструкции есть возможность управления цветом каждого светодиода, что позволяет создавать оригинальные световые эффекты. Главное отличие адресной светодиодной ленты от обычной RGB ленты – это наличие специальных контроллеров (конструктивно выполненных в виде микросхем) возле каждого светодиода, что и дает возможность индивидуальной адресации и регулирования каждого оттенка.

Как правило, лента содержит 3-4 контакта для подключения. Два вывода используются для питания – 5 Вольт и земля, остальные один или два – логический, для управления свечением.
Управление умной лентой производится по цифровому протоколу. Это значит, что без управляющего контроллера управлять устройством нельзя. Кстати, при прикосновении к цифровому входу может загореться несколько диодов – это связано с тем, что появляются помехи, которые контроллер принимает за команды.

Самыми популярными адресными светодиодными лентами являются устройства на чипах WS2812B и WS2811. В первом случае чип находится прямо внутри светодиода, то есть один прибор управляет свечением одного излучающего диода. Питание ленты составляет 5 вольт. Во втором случае чип помещается отдельно, и к нему подключаются 3 диода. Мощность – 12 вольт.

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

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

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

  • Black PCB / White PCB – цвета подложки
  • 1м/5 м – длина адресной ленты
  • 30/60/74 и т.д. – сколько светодиодов приходится на 1 метр ленты
  • IP30, IP65, IP67 – степень влаго- и пылезащищенности ленты.

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

Лента на базе WS2812B

Лента на чипе WS2812B является более совершенной, чем ее предшественник WS2811. ШИМ драйвер в адресной ленте компактен, и размещается прямо в корпусе светоизлучающего диода.

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

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

Лента оснащена четырьмя выходами:

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

Максимальный ток одного адресного светодиода равняется 60 миллиамперам. Рабочие температуры лежат в пределах от -25 до +80 градусов. Напряжение питания составляет 5 В +-0,5.
ШИМ драйверы ленты 8-мибитные – для каждого цвета возможно 256 градация яркости. Для установки яркости нужно 3 байта информации – по 8 бит с каждого светодиода. Информация передается по однолинейному протоколу с фиксированной скоростью. Нули и единицы кодируются высоким и низким уровнем сигнала по линии.

Пример подключения к Arduino

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

Лента WS2812B подключается к Ардуино следующим образом:

Схема подключения WS2812 к Arduino

Выходы питания с ленты 5В и земля соединяются с соответствующими контактами на микроконтроллере Ардуино. При подключении отрезка с более чем 13 светодиодами потребуется выносной блок питания. Земля и минус блока питания должны быть соединены друг с другом. DIN можно подключить к любому цифровому порту на плате Arduino. Он используется для получения данных с контроллера.
Цифровой вход ленты идет на вход контроллера, поэтому между ними нужен токоограничивающий резистор номиналом 100-500 Ом. С его использованием нагрузка на пин будет ниже.
На другом конце ленты также есть 3 контакта, к которым можно подключить отрезки различной длины.

Каждый блок ленты состоит из трех светодиодов. Соответственно, для управления подсветкой потребуется 3 байта – по одному на каждый свет. Каждый байт принимает значение от 0 до 255 – это значит, что есть возможность задания более 16 миллионов оттенков. Данные передаются следующим образом:

  • ШИМ драйвер забирает первые 3 байта, остальные передаются на выход D0
  • затем пауза длительностью 50 мкс
  • второй драйвер принимает следующие 3 байта

И так далее. Когда длительность задержки становится более 50 мкс, передача окончена и начинается второй цикл.

Причины проблем при работе с адресной светодиодная лентой:

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

Библиотеки Ардуино для работы со светодиодной лентой

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

Вторая библиотека, AdafruitNeoPixel, чаще используется при работе со светодиодными кольцами. Возможностей меньше, скорость ниже, но она менее требовательна к ресурсам, в ее составе только самое нужное. Поддерживает все версии Ардуино. Третья библиотека используется не очень часто.

Работать с библиотеками FastLED и Adafruit NeoPixel одинаково просто. Их отличия заключаются в функциональности и объеме занимаемой памяти.

Основные моменты подключения ленты:

  • Команды передаются друг за другом, и нужно не перепутать начало и конец. D1 принимает команды, D0 используется для подключения дополнительных отрезков
  • Для подключения цифрового входа нужно резистор
  • При монтаже адресной светодиодной ленты нельзя допускать статического электричества
  • Если между лентой и Ардуино расстояние более 15 см, сигнальный провод и землю нужно перекрутить в косичку. Это поможет избежать наводок.
  • Питание. Каждому светодиоду в сегменте нужно 20 мА. Суммарный ток будет составлять 60 мА. Нужно просчитать общий ток ленты, и, исходя из полученного значения, подбирать блок питания. Например, лента длиной 1 м с 60 диодами будет потреблять 60*60=3600 мА=3,6 Ампер. Блок питания подбирается с похожей мощностью
  • Силовые точки должны быть запаяны качественно. Провода должны иметь такое сечение, чтобы выдерживать подаваемую нагрузку. Минимальное сечение 1,5 кв.м. При тонких проводах заданный программно белый цвет будет отдавать красным оттенком
  • Помехи. Лента, которая мигает, может создать помехи на линии. Если она с контроллером получает напряжение от одного источника, то помехи пойдут на микроконтроллер. Это может привести к нестабильности работы и различным сбоям. Решением проблемы будет установка электролитического конденсатора емкостью 470 мкФ на питание микроконтроллера и конденсатор на 1000 или 2200 мкФ на питание ленты
  • Если лента и устройство управления питаются от источников с разным напряжением, нужно использовать преобразователь уровня
  • Рекомендуется подавать на ленту менее 5 В питания
  • Питание в длинной ленте советуется распределить по всей длине. В ином случае моет произойти перегрев токопроводящих дорожек
  • На ленте имеется толстый слой меди. От точки питания по ленте может падать напряжение. Для удаления подобной проблемы нужно дублировать питание при помощи медного провода сечением минимум 1,5 кв.м. через каждый метр

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

Оригинал статьи на сайте ArduinoMaster.Ru.
 

Похожие статьи

Питание любой установки WS2812b — Project Tempos

Написано Tempos Lighting

Хотя одна полоса — это здорово, существует множество замечательных проектов, требующих использования светодиодов особых размеров и конфигураций. В этом руководстве рассматриваются различные типы планок WS21812b, как определить, какая мощность вам нужна, и как подключить более одной. Если вы пропустили это и хотите узнать больше о том, как работают эти типы светодиодных лент, ознакомьтесь с нашим основным руководством здесь. Научитесь программировать пользовательские светодиодные фонари

Типы

Нам нужен тип ленты WS2812b. Обычно они имеют IP64, IP65 и IP67. Полосы IP64 имеют наименьшую защиту от окружающей среды, но их легче всего разрезать на более мелкие части. Они также поставляются с липкой задней частью, которую можно использовать для крепления на все типы поверхностей. Полосы IP65 также имеют липкую заднюю часть и силиконовое покрытие, что немного затрудняет пайку. Тип IP67 полностью заключен в силиконовый корпус и не имеет липкой задней панели.

Они также бывают с разной плотностью светодиодов. Основные конфигурации: 30 светодиодов/м, 60 светодиодов/м и 144 светодиода/м. По моему опыту, плотность 30 светодиодов на метр достаточно, так как каждый светодиод может быть очень ярким. Это дает вам максимальную длину по цене, а также позволяет проще всего удовлетворить энергопотребление.

Практически все светодиодные ленты WS2812b можно разрезать на несколько меньших полос. Каждую из медных площадок можно разрезать пополам и использовать для соединения секций вместе. Провода можно припаять к каждому концу. Только не забудьте подключить GND <-> GND, VCC <-> VCC и DIN <-> DOUT. Вот сетка светильников, которую мы сделали из секций полосы IP64, 60 светодиодов/м.

Power

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

Фактический совет в Интернете состоит в том, чтобы сделать предположение, что каждая из ламп RGB будет потреблять максимум 20 мА (фактическое значение немного ниже). Это дает нам 20 мА + 20 мА + 20 мА = 60 мА на пиксель. Поэтому для всей светодиодной ленты из 150 пикселей мы будем использовать максимальную мощность 9 А. Вот почему мы выбрали источник питания на 10 ампер для основной направляющей, где мы используем полосу на 150 пикселей.

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

Как вы увидите, эти светодиоды ЯРКИЕ! Установка для них максимальной яркости 255 может сделать их совершенно трудными для просмотра без какой-либо диффузии. Кроме того, когда мы думаем о требованиях к питанию, мы должны рассматривать только наихудший сценарий. Это означает, что если мы готовы пожертвовать некоторой яркостью, мы можем безопасно подключить больше светодиодов на ампер тока.

На приведенном ниже графике показана мощность, потребляемая на пиксель (белый цвет, все включено RGB) при различных уровнях яркости. Вместо того, чтобы просто принять 60 мА на пиксель по умолчанию, мы можем более точно согласовать наши светодиоды и источник питания. Например, если у нас есть источник питания на 5 ампер и мы хотим подключить 150 светодиодов, это дает нам бюджет мощности 33,3 мА на пиксель (5000 мА / 150). Согласно нашему графику, мы можем безопасно использовать все 150 светодиодов, пока не установим значения яркости выше ~170.

Источник питания, который нам нужен, должен быть 5 вольт, однако форма и сила тока, которые они обеспечивают, могут сильно различаться. Настенные бородавки (обычно 0,5-2 ампера) и силовые блоки (обычно 1-10 ампер) обычно поставляются с разъемами для бочкообразных разъемов. Для больших токов они изготавливают источники питания в собственном металлическом корпусе (обычно 1-60+ ампер). Им потребуются провода непосредственно от настенной розетки и несколько наборов 5-вольтовых разъемов.

В качестве предостережения важно использовать качественный источник питания на 5 вольт. Многие силовые блоки, особенно те, которые рекламируются более чем на 5 ампер, используют более дешевые компоненты и фактически не могут поддерживать такой уровень тока. Даже при качественной поставке я бы рекомендовал оставить около 20-30% запаса на всякий случай. Попытка получить большое количество тока может привести к падению напряжения, снижению яркости светодиодов или, что еще хуже, к повреждению их или блока питания.

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

В каждую полосу встроены маленькие провода для соединения одного светодиода с другим. Они действуют как трубы, несущие воду (ток) через полосу. Если мы попытаемся установить для всех светодиодов максимальную яркость белого, то будет потребляться слишком много воды (тока) для этих маленьких трубок. К тому моменту, как мы доходим до конца длинной полосы, напряжение просело, а яркость и цветопередача светодиодов ухудшились. Чтобы исправить это, нам просто нужно подать питание и землю на обе стороны полосы. Многие полосы даже имеют дополнительную пару для проводов 5V и GND на каждом конце специально для «впрыскивания» большей мощности.

Подобно уменьшению яркости, мы также можем уменьшить мощность, но отключив все красные, зеленые или синие светодиоды в полосе. Если мы используем комбинацию двух из трех светодиодов на каждый пиксель, мы можем снизить мощность до двух третей от нормального потребления. Если мы запрограммируем наши светодиоды только на красный, зеленый или синий цвет, мы можем сократить энергопотребление на одну треть, поскольку два из трех светодиодов выключены. Например, если мы знаем, что хотим использовать только желтый (красный + зеленый) и фиолетовый (красный + синий) при максимальной яркости 100, в худшем случае будет 12,5 мА на пиксель. Яркость 100 использует около 19мА из графика, умноженное на 2/3, так как мы знаем, что будем использовать только два из трех цветов одновременно, дайте нам 12,5 мА на пиксель.

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

Настройки

Если нам нужно запитать только пару светодиодов, мы можем обойтись только Arduino. USB, подключенный к нашему компьютеру, может обеспечить мощность 500 мА. Я бы не рекомендовал использовать более 350 мА. Случайное отключение слишком большой мощности может повредить Arduino или, что еще хуже, компьютер. Однако 350 мА достаточно для безопасного питания 6 или более светодиодов, в зависимости от того, используете ли вы методы, описанные выше.

Для питания дополнительных светодиодов нам понадобится внешний источник питания. Для экспериментов и программирования будет полезно подключить нашу Ардуино к компьютеру. В этом случае заземление от источника питания должно быть подключено к Arduino, но НЕ к 5-вольтовому проводу. USB обеспечит питание 5 вольт, необходимое для Arduino.

Как только мы запрограммируем Arduino по своему вкусу. Может быть предпочтительнее удалить соединение USB-компьютер. После отключения всю систему можно запитать от нашего блока питания на 5 вольт.

Возможно, вы хотите использовать более одной светодиодной ленты. По большей части вы можете просто соединить конец одного с началом следующего. Если у вас есть две ленты по 150 светодиодов, соединенные друг с другом, просто определите длину одной ленты в контроллере как 300 светодиодов. Как и раньше, когда мы устанавливали максимальную яркость всей полосы, при подключении такого количества светодиодов в ряд потребуется подача питания в середине и/или в конце.

Вы даже можете иметь столько разных блоков питания на 5 вольт, сколько вам нужно. Просто не забудьте соединить только их основания вместе. Не следует соединять разные линии +5В от отдельных источников питания.

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

Наконец, для больших установок важно помнить, сколько светодиодов могут обрабатывать различные типы контроллеров. Поскольку значения цвета каждого пикселя сохраняются в памяти контроллера, нам нужно достаточное количество битов для наших полос. Arduino Uno может обрабатывать до ~ 600 пикселей, а Arduino Mega — до ~ 2400. Есть много других контроллеров, которые могут управлять этими светодиодными лентами, которые мы рассмотрим в будущем руководстве.

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

Темпос Освещение

Светодиодное освещение NeoPixel

с использованием Arduino

— Реклама —

Это светодиодное освещение NeoPixel на основе драйвера WS2811 и Arduino в цифровом виде воспроизводит красный, зеленый и синий (RGB) свет и их комбинации. Первоначально представленные Adafruit, светодиодные ленты поставляются с адресуемыми и программируемыми драйверами.

Доступно несколько типов светодиодных лент/матриц, но мы можем использовать тот, который основан на микросхеме драйвера WS2811. Однако также можно использовать его эквиваленты WS2812, WS2812b и WS2813. Шина последовательного протокола, используемая для адресации и управления светодиодами, может быть несколько сложной и сложной, поскольку драйверы могут генерировать довольно много световых эффектов и шаблонов, таких как зигзаг, случайный выбор, 7-сегментные цифровые часы, прокручиваемые дисплеи сообщений и т. д. Прототип автора: показано на рис. 1.

Рис. 1: Авторский прототип

Имеющееся на рынке светодиодное освещение NeoPixel обычно стоит дорого. Использование драйвера WS2811 в этом проекте помогает снизить стоимость. Светодиоды NeoPixel выпускаются с различной плотностью пикселей и форм-факторами, помимо традиционных светодиодных лент, таких как кольца, матрицы и несколько других типов отдельных пикселей, как показано на рис. 2.

Рис. 2. Два типа светодиодов NeoPixel строки: (а) матричный тип, (б) кольцевой тип

- Реклама -

Управление устройством WS2811 через последовательную шину управления — непростая задача. Он использует комбинированную линию синхронизации и данных для передачи инструкций для каждого светодиода по последовательной последовательной шине, которая проходит от одного пикселя к другому (рис. 3). Это означает, что пиксели не могут быть адресованы индивидуально. Таким образом, любое изменение в одном из пикселей потребует обновления инструкций, загруженных во все пиксели выше по течению. Схемы контактов RGB-светодиода показаны на рис. 4.9.0005 Рис. 3: Несколько светодиодов NeoPixel, соединенных вместеРис. 4. Схемы выводов RGB-светодиодов: (a) тип с общим катодом, (b) тип с общим анодом немного сложно писать с нуля.

К счастью, большая часть тяжелой работы уже проделана, и существуют библиотеки (FastLed.h, NeoPixel.h) для драйверов светодиодных лент и приложений для Arduino, Raspberry Pi, LaunchPad и других популярных платформ. Даже подпрограммы драйверов на языке ассемблера доступны для продуктов на основе WS2811 для некоторых микроконтроллеров (MCU), включая популярные 8-битные ИС Atmel, серию TI TMS430 и устройства Microchip PIC16F15xx.

Здесь широтно-импульсная модуляция (ШИМ) используется для управления светодиодами NeoPixel. После сброса контроллера цепочки светодиодов путем удержания на входе низкого уровня в течение 50 мкс программа микроконтроллера начинает посылать по линии поток 24-битных цветовых кодов (по 8 бит для светодиодов R, G и B). Первый набор 24-битных значений RGB фиксируется и отображается первым пикселем светодиода, который затем позволяет оставшемуся потоку битов проходить по цепочке. Второй светодиодный пиксель захватывает последовательность битов RGB, отображает ее и так далее, пока не будет достигнут конец цепочки. Импульсы ШИМ варьируются для получения нескольких цветов с комбинацией светодиодов RGB.

Схема и работа

Схема подключения адресных светодиодов NeoPixel с помощью Arduino показана на рис. 5. Подключите источник питания 5 В постоянного тока к Arduino и светодиодной ленте NeoPixel. Подключите контакт +5V светодиодной ленты к положительной клемме источника питания. Не подключайте контакт 5V Arduino к светодиодной ленте. Подключите контакты DIN и GND светодиодной ленты к цифровым контактам 6 и GND Arduino соответственно. Убедитесь, что контакты GND светодиодной ленты, Arduino и источника питания постоянного тока 5 В подключены друг к другу.

Рис. 5: Схема подключения адресных светодиодов NeoPixel с помощью Arduino

В этом проекте используется совместимая с NeoPixel светодиодная лента 50-RGB и источник питания 5 В, 5 А от адаптера постоянного тока. Это связано с тем, что каждый NeoPixel состоит из трех светодиодов (красного, зеленого и синего), и каждый светодиод потребляет максимальный ток 20 мА. Это означает, что для каждого светодиода NeoPixel требуется ток 60 мА (20 мА x 3), как показано на рис.3. Таким образом, общий потребляемый ток для пятидесяти светодиодов будет 50 × 60 мА = 3000 мА, или три ампера. Таким образом, адаптер постоянного тока должен иметь номинальный ток не менее 3 А.

При использовании источника питания постоянного тока или большой батареи необходимо добавить конденсатор емкостью 1000 мкФ, напряжением 16 В или выше между плюсовой (+) и минусовой (-) клеммами. Это предотвращает повреждение светодиодов первоначальным скачком тока. Добавление резистора на 470 Ом между выводами данных Arduino и светодиодами NeoPixel может помочь предотвратить выбросы на линии данных, которые могут повредить первый светодиод.

Программное обеспечение

Работа схемы управляется программой, загруженной во внутреннюю память Arduino Uno. Программа (main1.ino) написана на языке программирования Arduino. Arduino IDE используется для компиляции и загрузки программы.

ATmega328P на плате Arduino Uno поставляется с предварительно запрограммированным загрузчиком, который позволяет загружать в него новый код без использования внешнего аппаратного программатора. Подключите плату Arduino к ПК и выберите правильный COM-порт в Arduino IDE.

Наряду с программой/эскизом Arduino (main1.ino) вам также потребуется заголовочный файл (FastLED.h) для реализации нескольких световых эффектов и анимации. Некоторые основные функции и операции, используемые в программном коде:

#define LED_TYPE WS2812

Это встроенная функция FastLED. h для объявления определенного типа пакетов светодиодов пикселей, таких как WS2811, WS2812, WS2812b и WS2813.

#define COLOR_ORDER GRB

В этой функции необходимо указать порядок цветовой последовательности зеленого, красного и синего цветов.

#define ЯРКОСТЬ 64

В этой функции вы можете изменять яркость светодиодов в диапазоне от 0 до 255 уровней.

#define NUM_LEDS 50

В этой функции вы указываете количество используемых светодиодов (50 в этом проекте).

Заголовочный файл включен в файл FastLed-master.zip. Перед компиляцией скетча необходимо включить FastLed-master.zip в библиотеку Arduino.

Тестирование

После выполнения подключений, как показано на рис. 5, загрузите исходный код на плату Arduino Uno. Подключите плату Arduino к источнику постоянного тока 5 В через USB-кабель, подключив его к ПК/ноутбуку. Затем подключите адаптер постоянного тока 5 В, 5 А к светодиодной ленте NeoPixel. Вы увидите различные светодиодные световые эффекты и узоры на светодиодной ленте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *