Андрей Смирнов
Время чтения: ~19 мин.
Просмотров: 0

Схема подключения и управление светодиодной лентой с помощью arduino

Schematics

In this example, the WS2812B LED strip will be powered using the 5V Arduino pin. In my case, I’m controlling 14 LEDs. If you want to control many LEDs, you’ll need to use an external power source.

Useful tips:

  • Connect a capacitor with a capacitance between 100uF and 1000uF from power to ground to smooth out the power supply.
  • Add a 220 or 470 Ohm resistor between the Arduino digital output pin and the strip data input pin to reduce noise on that line.
  • Make your wires between the arduino, power supply and the strip as short as possible to minimize voltage loss.
  • If your strip gets damaged and doesn’t work, check if the first LED is broken. If so, cut it, resolder the header pins, and it should work again.

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

Через реле

Реле подключается к устройству на цифровой выход. Полоса, управляемая с его помощью имеет только два состояния – включенная и выключенная. Для управления red-blue-green ленточкой необходимы три реле. Ток, который может контролировать такое устройство, ограничен мощностью катушки (маломощная катушка не в состоянии замыкать большие контакты). Для подсоединения большей мощности используются релейные сборки.

С помощью биполярного транзистора

Для усиления выходного тока и напряжения можно использовать биполярный транзистор. Он выбирается по току и напряжению нагрузки. Ток управления не должен быть выше 20 мА, поэтому подается через токоограничивающее сопротивление 1 – 10 кОм.

Транзистор лучше применять n-p-n с общим эмиттером. Для большего коэффициента усиления используется схема с несколькими элементами или транзисторная сборка (микросхема-усилитель).

С помощью полевого транзистора

Кроме биполярных, для управления полосами используются полевые транзисторы. Другое название этих приборов – МОП или MOSFET-transistor.

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

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

С помощью плат расширения

Кроме реле и транзисторов используются готовые блоки и платы расширения.

Это может быть Wi-Fi или Bluetooth, драйвер управления электродвигателем, например, модуль L298N или эквалайзер. Они предназначены для управления нагрузками разной мощности и напряжения. Такие устройства бывают одноканальными – могут управлять только монохромной лентой, и многоканальными – предназначены для устройств RGB и RGBW, а также лент со светодиодами WS 2812.

Как устроен RGB-светодиод и его назначение

Светодиодная лента состоит из 3 цветных кристаллов и 4 выходов: 12 (общий вывод), R (Red), G (Green), B (Blue). Основные комплектующие помещены в пластиковый корпус. Также в некоторых моделях RGB LED Arduino присутствуют встроенные резисторы. Они подключены к цветным выходам. Анодные и катодные электроды обладают самыми длинными выводами.

Одной из самых современных моделей RGB Ардуино является адресная светодиодная лента. Она состоит из диодов и контроллера. В это устройство по умолчанию встроены 3 полевых транзистора, что позволяет регулировать цвет светодиодов по отдельности.

Устройство светодиоида.

Для питания резисторов и выводов нужно подключить адресную ленту к следующим приборам:

  1. Powerbank 5V: лента подсоединяется к данному устройству при помощи USB-штекеров. Емкость Powerbank 5V составляет 3350 мА*ч, что позволяет питать светодиоды током с силой 3А.
  2. Батарейки АА: используются в количестве 3 шт. Общая емкость этих приборов составляет 180 мА*ч. Они подают ток с напряжением до 5,5 В. Рекомендуется использовать батарейки AA, изготовленные из лития или апкалина.
  3. Никелевые аккумуляторы: имеют напряжение до 1,4 В. Для питания RGB Arduino требуется не менее 4 аккумуляторов из никеля. Емкость сборки составляет 2700 мА*ч.
  4. Литиевые аккумуляторы: имеют напряжение 4,2 В. В процессе эксплуатации значение этого показателя снижается до 3 В. Литиевые аккумуляторы позволяют сохранять полную яркость светодиодов. Они питают диоды током с силой до 2 А.

В зависимости от способа подачи электрического тока светодиоды будут гореть разными цветами. Если подать питание на 3 цветных светодиода одновременно, то кристаллы станут белыми. Для настройки цветовой гаммы Arduino RGB используются контроллеры с пультом управления. Они состоят из 3 полевых транзисторов и микропроцессора. Это приспособление позволяет настроить цветовую гамму светодиодов на дальнем расстоянии. Работа контроллеров с пультом управления обеспечивается при помощи скетчей, написанных в программной среде Ардуино.

Выделяют 2 основные модели RGB LED Arduino:

  1. WS2811: светодиоды питаются от чипа WS2811, расположенного отдельно от RGB-ленты. Питание устройства составляет 12 В.
  2. WS2812b: представляет собой ленту с напаянными светодиодами. В диоды встроены чипы WS2812b. Они позволяют менять окрас светодиодов по отдельности. Питание ленты WS2812b составляет 5 В.

Основными преимуществами RGB LED Arduino являются простота конструкции и высокий КПД. Эти приспособления активно используются при изготовлении осветительных приборов и декоративных подсветок. Также технология RGB нашла применение в трехмерной графике и WEB-разработке.

Подключение светодиодной RGB ленты

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

Правильный порядок подключения

Запомните. Участки ленты, длиной больше 5 метров, должны подключаться только параллельно.

Что будет, если подключить последовательно?

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

Неправильное подключениеПравильное подключение

Во-вторых, токопроводящие дорожки ленты рассчитаны на максимальную длину 5м. Подключив последовательно еще 5, дорожки будут перегреваться и освещение скорее всего перегорит в самом начале участка.

RGB коннектор

Соединять ленту между собой можно с помощью пайки или клеммами. Для одноцветных вариантов продаются двухвыводные клеммы (коннекторы), для RGB – четырёх или пяти. Уточняйте этот момент при покупке.

Подробнее как соединять rgb ленту между собой.

Блок питания подключается в сеть 220В (клеммы AC, полярность не важна), преобразует переменное напряжение в постоянное 12В (клеммы V+, V-)

При подключении следующих элементов цепи важно соблюдать полярность

Клеммы подключения на БП

RGB контроллер подключается после блока питания (с соблюдением полярности), а в него подключается ргб лента. Каждый вывод на корпусе предназначен для конкретного вывода светодиодов. Если перепутаете местами, ничего страшного не произойдет, просто цвета будут перепутаны.

Клеммы подключения контроллера к светодиодам

В результате готовая схема в сборе должна иметь вид:

Схема в сборе

Усилитель внешне похож на контроллер, отдельно подключается к БП, только имеет не одну плашку с клеммами, а две. Маркируется чаще всего как Led Amplifier, устанавливается в разрыв ленты. Подключается по схеме:

Порядок подключения RGB усилителя в цепьНазначение клемм led amplifier

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

Схема подключения RGB светодиодной ленты без усилителя

Это простейшая схема включения rgb светодиодной ленты длиной до 5 метров через контроллер с пультом.

Электрическая схема подключения RGB освещения

Для подключения светодиодной RGB ленты длиной 10 или 15 метров, убедитесь, что хватает мощности контроллера и БП (с запасом), и подключайте по следующей схеме:

Схема подключения 10 или 15 

Схема подключения ленты с RGB усилителем

Усилитель используем, если не хватает мощности контроллера. Если мощность блока питания позволяет подключить контроллер и усилитель, используем следующую схему:

Когда суммарная мощность контроллера и усилителя выше мощности БП или блок такой мощности использовать нерационально (большой, сильно греется или шумит), тогда подключаем led amplifier к отдельному питанию по схеме:

Схема подключения усилителя с 2 блоками питания

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

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

Схема параллельного подключения нескольких RGB усилителей с одним блоком питания.

Схема: один БП несколько усилителей

Схема с несколькими параллельными усилителями с отдельным питанием.

Схема: несколько параллельных усилителей с отдельными БП

Если клемм нет – используйте паяльник и монтажный провод, НО не перегревайте контактные площадки. Подробнее как соединять ленту.

Правильная схема подключения 20 метров RGB ленты показана на видео.

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

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

p, blockquote 16,0,0,0,0 —>

Вы можете сделать эскиз самостоятельно или просто загрузить готовый код из GitHub (https://gist.github.com/anonymous/d4fa3719478c3c5a9c321cc372e9540).

p, blockquote 17,0,0,0,0 —>

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

p, blockquote 18,0,1,0,0 —>

#define RED_LED 6 #define BLUE_LED 5 #define GREEN_LED 9

p, blockquote 19,0,0,0,0 —>

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

p, blockquote 20,0,0,0,0 —>

int brightness = 255; int gBright = 0; int rBright = 0; int bBright = 0; int fadeSpeed = 10;

p, blockquote 21,0,0,0,0 —>

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

p, blockquote 22,0,0,0,0 —>

void setup() <pinMode(GREEN_LED, OUTPUT); pinMode(RED_LED, OUTPUT); pinMode(BLUE_LED, OUTPUT);

p, blockquote 23,0,0,0,0 —>

TurnOn(); delay(5000); TurnOff(); > Теперь создайте метод TurnOn (): void TurnOn() <for (int i = 0; i p, blockquote 24,0,0,0,0 —>

Эти три цикла for полностью увеличивают яркость каждого цвета за время, указанное значением fadeSpeed. Наконец, вам нужно создать метод TurnOff (): void TurnOff() <for (int i = 0; i p, blockquote 25,0,0,0,0 —>

p, blockquote 26,0,0,0,0 —>

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

p, blockquote 27,0,0,0,0 —>

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

p, blockquote 28,0,0,0,0 —>

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

p, blockquote 29,0,0,0,0 —>

p, blockquote 30,0,0,0,0 —>

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

p, blockquote 31,0,0,0,0 —>

p, blockquote 32,0,0,0,0 —>

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

// Присваиваем имя RED для пина 11
// Присваиваем имя GREEN для пина 12
// Присваиваем имя BLUE для пина 13
// Используем Pin12 для вывода
// Используем Pin13 для вывода
// Включаем красный свет
// Включаем зеленый свет
// Устанавливаем паузу для эффекта
// Включаем синий свет
// Устанавливаем паузу для эффекта

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

  1. С помощью директивы #define мы заменили номер пинов 11, 12 и 13 на соответствующие имена RED , GREEN и BLUE . Это сделано для удобства, чтобы не запутаться в скетче и понимать какой цвет мы включаем;
  2. В процедуре void setup() мы назначили пины 11, 12 и 13, как выходы;
  3. В процедуре void loop() мы поочередно включаем все три цвета на RGB LED.

На что обратить внимание:

  1. Пины 11, 12 и 13 мы использовали, как цифровые выходы digitalWrite .
  1. Измените скетч, чтобы на светодиоде включались одновременно два разных цвета.

Шаг 3. Код Arduino и последовательная связь

Загрузите следующий эскиз в Arduino с помощью USB-кабеля.

const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;

void setup() {
  Serial.begin(9600);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);

}

void loop() {
  while (Serial.available() > 0) {
    int red = Serial.parseInt();
    int green = Serial.parseInt();
    int blue = Serial.parseInt();

    if (Serial.read() == '\n') {
      red   =   constrain(red, 0, 255);
      green =   constrain(green, 0, 255);
      blue  =   constrain(blue, 0, 255);

      analogWrite(redPin,   red);
      analogWrite(greenPin, green);
      analogWrite(bluePin,  blue);
    }  
  }
}

Важно! Не забудьте отключить модуль HC-06 перед загрузкой эскиза!

Зачем? Штыри связи HC-06 (RX и TX) блокируют связь между Arduino и компьютером.

Объяснение кода

Во-первых, мы объявили несколько констант (константу, которые не могут быть изменены позже) для всех трех цветов (красный, зеленый, синий)

В setup() мы начали последовательную соединение с частотой 9600 бод и установили все выводы ленты на OUTPUT.

В цикле loop(), если Serial получает что-то, он анализирует полученные данные как Integer (важно на следующем шаге)

Если он получает символ новой строки (‘\ n’), он сначала ограничивает значения диапазоном 0-255 из-за диапазона PWM (ШИМ, англ. pulse-width modulation (PWM)), а затем совершает изменения в цифровых выводах с помощью метода analogWrite().

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

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

Теперь, когда мы рассмотрели схему с обычной светодиодной лентой, перейдем к адресным светодиодным лентам  SPI RGB лента.

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

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

Вам понадобится:

● Светодиодная лента 5v WS2811/12/12B; Все три модели имеют встроенные микросхемы и работают одинаково.

● 1 x Arduino Uno или аналогичная совместимая плата;

● 1 x резистор 220-440 Ом;

● 1 x конденсатор microFarad 100-1000 (все, что между этими двумя значениями, отлично подойдет);

● Макет и монтажные провода;

● Блок питания 5 В.

Настройте схему, как показано на рисунке:

Обратите внимание, что конденсатор должен быть правильной ориентации. Вы можете понять, какая сторона прикрепляется к рейке земля, ища знак минуса (-) на корпусе конденсатора

На этот раз мы задействуем Arduino, используя источник питания 5 В. Это позволит устройству работать автономно

Вы можете понять, какая сторона прикрепляется к рейке земля, ища знак минуса (-) на корпусе конденсатора. На этот раз мы задействуем Arduino, используя источник питания 5 В. Это позволит устройству работать автономно.

Во-первых, убедитесь, что ваша плата может работать с 5 В, прежде чем присоединить ее к источнику питания. Почти все платы работают на 5V через USB-порт, но штыри питания на некоторых могут иногда пропускать регуляторы напряжения и превращать их в поджаренные тосты.

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

Светодиодная лента Ардуино – Бегущий огонь или световая волна

Чтобы безопасно запрограммировать нашу плату, отсоедините линию VIN от линии электропередач. Вы подключите ее позже обратно.

Присоедините свой Arduino к компьютеру и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный в меню «Сервис»> «Сервис и инструменты»> «Порт».

Мы будем использовать библиотеку FastLED для тестирования нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена в среду IDE.

В разделе «Файл»> «Примеры»> «FastLED» выберите эскиз DemoReel100. В этом эскизе задействованы различные эффекты, которые можно сделать с помощью светодиодных полос WS2812, и невероятно легко настроить.

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

Используйте большее количество для красивейшего светового шоу!

Загрузите эскиз на свою плату, отсоедините USB-кабель и включите источник питания 5 В.

Наконец, подключите VIN Arduino к линии электропередач и наслаждайтесь представлением.

Светодиодная лента Ардуино – Безграничные возможности

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

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

Как принять и распарсить принятую команду

Для этого мы напишем две функции: функцию принятие данных и функцию парсинга. Первая будет вызывать из функции цикла Loop и записывать в глобальную переменную «Str» принятые данные. Вторая будет парсить команды и вызывать соответствующую функцию. Парсить будем функцией «strtok».

void loop ()  {
  getStr();
  if (Str != "0") ParseCommand();
}
//***************************************************
void getStr() {
  int cb = udp.parsePacket();
  if (!cb) {}
  else {
    udp.read(packetBuffer, NTP_PACKET_SIZE);
    Serial.println(packetBuffer);
    String req = (packetBuffer);

    Serial.print("Request: ");
    Serial.println(req);
    Str = req;
  }
  memset(packetBuffer, 0, NTP_PACKET_SIZE);  //очищаем буфер для приема следующей команды
}
//***************************************************--ParseCommand
void ParseCommand() {
  String command = "";
  //преобразовываем строку в нужным нам тип
  Str.toCharArray(buf, 127);// Str - переменная в которой хранится пришедший пакет
  command = String( strtok (buf, " "));
  Serial.println("command: " + command + "(" + Str + ")");
  if (command == "save") {
    SaveComand(); //Сохраняем и подключаемся к Wi-Fi
  } else if (command == "LightRGB") {
    LightRGB(); //задаем цвет свечения
  } else if (command == "LightFade") {
    LightFade(); //задаем потухание/появление
  } else if (command == "LightUser") {
    FadeUser();
  }  else {
    Str = "0"; // очищаем
  }
}

Ниже я объясню, что за команды и что они будут делать

Управление через смартфон

Управление современными адресными лентами легко
осуществляется через смартфон и Wi-fi.
Последовательность здесь следующая.

устанавливаете на телефон специальное приложение

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

регистрируетесь и добавляете свое устройство

в настройках wi-fi на телефоне находите его

При первом подключении настраиваете девайс. Выбираете
последовательность свечения RGB (GBR, BRG), а
также тип ленты (ws2811, ws2812 и
т.п.)

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

таймер (время вкл. и откл. ленты)

динамический режим (с регулировкой скорости и изменения эффектов)

Таких прописанных по умолчанию режимов может быть
несколько сотен!

яркость подсветки

Не понравились заводские настройки? Можете создать свою
собственную программу расцветки через ручную настройку динамического режима.

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

Помимо прочего такие умные контроллеры могут иметь
музыкальный процессор.

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

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

При выборе такого контроллера обратите особое внимание, что есть дешевые модели, которые при работе через wi-fi могут блокировать вам интернет. Поэтому заранее интересуйтесь у продавца о такой функции и покупайте только модели с одновременной работой интернета и управлением подсветкой

Поэтому заранее интересуйтесь у продавца о такой функции и покупайте только модели с одновременной работой интернета и управлением подсветкой.

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

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

Вы можете сделать эскиз самостоятельно или просто загрузить готовый код из GitHub (https://gist.github.com/anonymous/d4fa3719478c3c5a9c321cc372e9540).

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

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

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

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

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

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);

TurnOn();
delay(5000);
TurnOff();
}
Теперь создайте метод TurnOn ():
void TurnOn() {
for (int i = 0; i < 256; i++) {
analogWrite(RED_LED, rBright); rBright +=1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(BLUE_LED, bBright); bBright += 1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(GREEN_LED, gBright); gBright +=1; delay(fadeSpeed); } }

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

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

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

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

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

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

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

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

Фото. Схема подключения RGB LED к Ардуино на макетной плате

Модуль «RGB светодиод» можно подключить напрямую к плате, без проводов и макетной платы. Подключите модуль с полноцветным RGB светодиодом к следующим пинам: Минус — GND, B — Pin13, G — Pin12, R — Pin11 (смотри первое фото). Если вы используете RGB LED (Light Emitting Diode), то подключите его по схеме на фото. После подключения модуля и сборки схемы на Ардуино загрузите скетч в плату.

Скетч для мигания RGB светодиодом на Ардуино

#define RED 11  // присваиваем имя RED для пина 11
#define GRN 12 // присваиваем имя GRN для пина 12
#define BLU 13  // присваиваем имя BLU для пина 13
 
void setup() {
   pinMode(RED, OUTPUT);  // используем Pin11 для вывода
   pinMode(GRN, OUTPUT); // используем Pin12 для вывода
   pinMode(BLU, OUTPUT);  // используем Pin13 для вывода
}
 
void loop() {
 
   digitalWrite(RED, HIGH); // включаем красный свет
   digitalWrite(GRN, LOW);
   digitalWrite(BLU, LOW);
 
   delay(1000); // устанавливаем паузу для эффекта
 
   digitalWrite(RED, LOW);
   digitalWrite(GRN, HIGH); // включаем зеленый свет
   digitalWrite(BLU, LOW);
 
   delay(1000); // устанавливаем паузу для эффекта
 
   digitalWrite(RED, LOW);
   digitalWrite(GRN, LOW);
   digitalWrite(BLU, HIGH); // включаем синий свет
 
  delay(1000); // устанавливаем паузу для эффекта
}

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

  1. с помощью директивы мы заменили номер пинов 11, 12 и 13 на соответствующие имена , и . Это сделано для удобства, чтобы не запутаться в скетче и понимать какой цвет мы включаем;
  2. в процедуре мы поочередно включаем все три цвета на RGB.

Похожие посты

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации