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

На этом занятии мы будем использовать цифровые и аналоговые выходы с «широтно импульсной модуляцией» на плате Arduino для включения RGB светодиода с различными оттенками. Расскажем про устройство и распиновку полноцветного (RGB) светодиода и рассмотрим директиву #define в языке программирования C++.

 

Устройство и назначение RGB светодиода

Для отображения всей палитры оттенков вполне достаточно три цвета, используя RGB синтез (Red — красный, Green — зеленый, Blue — синий). RGB палитра используется не только в графических редакторах, но и в сайтостроении. Смешивая красный, зеленый и синий цвет в разной пропорции можно получить практически любой цвет.

 

RGB светодиоды объединяют три кристалла разных цветов в одном корпусе. Использование RGB светодиодов и RGB LED ленты позволяет создать осветительный прибор или освещение интерьера с любым оттенком цвета. Преимущества RGB светодиодов в простоте конструкции и высоком КПД светоотдачи.

 

RGB LED имеет 4 вывода — один общий (анод или катод имеет самый длинный вывод) и три цветовых вывода. К каждому цветовому выходу следует подключать резистор. Кроме того, RGB LED может сразу монтироваться на плате и иметь встроенные резисторы — этот вариант более удобный для занятий в кружке.

 

Фото. Распиновка RGB светодиода
Фото. Распиновка RGB светодиода и модуль с RGB светодиодом для Ардуино

Распиновка RGB светодиода указана на фото выше. Заметим также, что для многих полноцветных светодиодов необходимы светорассеиватели, иначе будут видны составляющие цвета. Далее подключим RGB светодиод к Ардуино и заставим его светится всеми цветами радуги с помощью «широтно импульсной модуляции».

 

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

Аналоговые выходы на Ардуино используют «широтно импульсную модуляцию» для получения различной силы тока. Мы можем подавать на все три цветовых входа на светодиоде различное значение ШИМ-сигнала в диапазоне от 0 до 255, что позволит нам получить на RGB LED Arduino практически любой оттенок света.

 

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

 

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • RGB светодиод;
  • 3 резистора 220 Ом;
  • Провода «папка-мамка».

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

 

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

 

После подключения модуля или сборки схемы загрузите скетч.

Скачать готовый скетч zanyatie4_rgb.ino

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

}

 

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

  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. Измените скетч, чтобы на светодиоде включались одновременно два разных цвета.

 

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

Управление rgb светодиодом на Arduino можно сделать плавным, используя аналоговые выходы с «широтно импульсной модуляцией». Для этого цветовые входы на светодиоде необходимо подключить к аналоговым выходам, например, к пинам 11, 10 и 9. И подавать на них различные значения ШИМ (PWM) для различных оттенков.

 

После подключения модуля с помощью проводов «папка-мамка» загрузите скетч.

Скачать готовый скетч zanyatie3_rgb2.ino

 

#define RED 9 // Присваиваем имя RED для пина 9
#define GREEN 10 // Присваиваем имя GREEN для пина 10
#define BLUE 11 // Присваиваем имя BLUE для пина 11
 
void setup()
{
  pinMode(RED, OUTPUT); // Используем Pin9 для вывода
  pinMode(GREEN, OUTPUT); // Используем Pin10 для вывода
  pinMode(BLUE, OUTPUT); // Используем Pin11 для вывода
}

void loop()
{
 
  analogWrite(RED, 50); // Включаем красный свет
  analogWrite(GREEN, 250); // Включаем зеленый свет
  analogWrite(BLUE, 150); // Включаем синий свет
 
  delay(3000); // Устанавливаем паузу для эффекта
}

 

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

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

 

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

  1. Пины 11, 12 и 13 мы использовали, как аналоговые выходы analogWrite.

 

Задание для самостоятельного выполнения:

  1. Измените скетч, чтобы на полноцветном светодиоде включались различные цвета.

Пройти тест


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Загрузка...

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

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