Светодиодный модуль RGB KY-009

Светодиодный модуль RGB KY-009

Светодиодный модуль RGB KY-009 излучает широкий спектр цветов путем смешивания красного, зеленого и синего света. Каждый цвет регулируется с помощью ШИМ.

Технические характеристики KY-009

Светодиодный модуль KY-009 выглядит как небольшая схема размером 18,5 мм x 15 мм, на которой установлен RGB SMD-светодиод типоразмера 5050 и 4-контактный разъем.

Напряжение источника питания
Пороговое напряжение для красного светодиода1.8В ~ 2.4В
Пороговое напряжение для зеленого светодиода2.8В ~ 3.6В
Пороговое напряжение для синего светодиода2.8В ~ 3.6В
Ток20мА ~ 30мА
Температура окружающего воздухаот -25°C до 85°C
Размер модуля18.5мм x 15мм
Характеристики модуля KY-009

Внимание


При подключении модуля будьте осторожны. На рынке попадаются разные версии светодиода, которые отличаются расположением контактов: например, -GRB и -RGB

Для питания трех светодиодов, составляющих модуль KY-009, необходимо ограничить ток (т.к. цифровой контакт Ардуино может обеспечить ток около 40мА) и таким образом обезопасить светодиоды от перегорания. Для этой цели используйте постоянные резисторы, номинал которых можно рассчитать с помощью закона Ома, зная характеристики светодиода и напряжение питания.

Расчет сопротивлений произведем по формуле:

\[R=\frac{U_{PIN}-U_{LED}}{I_{LED}}\]

Также вычислим мощность, которая рассеивается на резисторе:

\[W=(U_{PIN}-U_{LED})\times{I_{LED}}\]

Воспользовавшись формулами, получаем:

Красный светодиод

\[R_{RED}=\frac{\text{5В}-\text{1.8В}}{\text{20мА}}=\text{160 Ом}\]
\[W_{RED}=(\text{5В}-\text{1.8В})\times{\text{20мА}}=\text{0.064Вт}\]

Зеленый светодиод

\[R_{GREEN}=\frac{\text{5В}-\text{2.8В}}{\text{20мА}}=\text{110 Ом}\]
\[W_{GREEN}=(\text{5В}-\text{2.8В})\times{\text{20мА}}=\text{0.044Вт}\]

Синий светодиод

\[R_{BLUE}=\frac{\text{5В}-\text{2.8В}}{\text{20мА}}=\text{110 Ом}\]
\[W_{BLUE}=(\text{5В}-\text{2.8В})\times{\text{20мА}}=\text{0.044Вт}\]

Как подключить к Ардуино

KY-009 Макетная плата Arduino
R Резистор 160 Ом Контакт 11
G Резистор 110 Ом Контакт 9
B Резистор 110 Ом Контакт 10
  GND
Распиновка модуля KY-009
Рисунок 1. Распиновка модуля
  • Подключите красный контакт (R) к контакту 11.
  • Подключите зеленый контакт (G) к контакту 9.
  • Подключите синий контакт (B) к контакту 10.
  • И, наконец, общий контакт (-) к GND.

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

Схема подключения модуля к Ардуино УНО
Рисунок 2. Схема подключения модуля к Ардуино УНО

Пример кода

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

int bluepin = 10; // контакт для синего светодиода
int greenpin = 9; // контакт для зеленого светодиода
int redpin = 11;  // контакт для красного светодиода
int val;

void setup() {
  pinMode(bluepin, OUTPUT);  // Инициализация контакта как выход
  pinMode(greenpin, OUTPUT); // Инициализация контакта как выход
  pinMode(redpin, OUTPUT);   // Инициализация контакта как выход
  Serial.begin(9600);        // Инициализация последовательного порта
}
void loop()
{
  digitalWrite(redpin, HIGH);   // Зажигаем красный светодиод
  delay (1000);                 // Ждем 1 секунду
  digitalWrite(redpin, LOW);    // Гасим красный светодиод
  digitalWrite(bluepin, HIGH);  // Зажигаем синий светодиод
  delay (1000);                 // Ждем 1 секунду
  digitalWrite(bluepin, LOW);   // Гасим синий светодиод
  digitalWrite(greenpin, HIGH); // Зажигаем зеленый светодиод
  delay (1000);                 // Ждем 1 секунду
  digitalWrite(redpin, HIGH);   // Зажигаем красный светодиод
  digitalWrite(bluepin, HIGH);  // Зажигаем синий светодиод
  /* При включении трех светодиодов получаем белый цвет */
  delay (1000);                 // Ждем 1 секунду
  /* Гасим все три светодиода */
  digitalWrite(redpin, LOW);    // Гасим красный светодиод
  digitalWrite(greenpin, LOW);  // Гасим зеленый светодиод
  digitalWrite(bluepin, LOW);   // Гасим синий светодиод
  delay (1000);                 // Ждем 1 секунду

  for (val = 255; val > 0; val--)
  {
    analogWrite(redpin, val);         // Установим значение ШИМ для красного цвета
    analogWrite(bluepin, 255 - val);  // Установим значение ШИМ для синего цвета
    analogWrite(greenpin, 128 - val); // Установим значение ШИМ для зеленого цвета
    Serial.println(val, DEC);         // Выводим полученное значение в порт
    delay(1);                         // Ждем 1 миллисекунду
  }
  for (val = 0; val < 255; val++)
  {
    analogWrite(redpin, val);         // Установим значение ШИМ для красного цвета
    analogWrite(bluepin, 255 - val);  // Установим значение ШИМ для синего цвета
    analogWrite(greenpin, 128 - val); // Установим значение ШИМ для зеленого цвета
    Serial.println(val, DEC);         // Выводим полученное значение в порт
    delay(1);                         // Ждем 1 миллисекунду
  }
  
  digitalWrite(redpin, LOW);          // Гасим красный светодиод
  digitalWrite(greenpin, LOW);        // Гасим зеленый светодиод
  digitalWrite(bluepin, LOW);         // Гасим синий светодиод
  delay (1000);                       // Ждем 1 секунду
}
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии