Светодиоды широко используются в проектах на Arduino. Сегодня рассмотрим модуль KY-016, которой оснащен RGB светодиодам 5 мм. В отличие от модуля «KY-009 RGB светодиода (SMD)», данный модуль оснащен резисторами и его можно подключать напрямую к Arduino, без дополнительной обвязки. Схема подключения и код аналогичные с модулем KY-009.
Описание модуля KY-016 - rgb led Arduino.
KY-016 - rgb led Arduino полноцветный 5-миллиметровый светодиод RGB, разные цвета и оттенки могут быть получены путем смешивания трех основных цветов.
Технические характеристики rgb модуля Arduino.
Этот rgb модуль Arduino состоит из 5- миллиметрового RGB-светодиода и трех токоограничивающих резисторов на 150 Ом, для предотвращения перегорания. Регулировка сигнала ШИМ на каждом пине модуля приведет к изменению цвета светодиода.
Рабочее напряжение
|
5В
|
Светодиодный режим управления
|
Общий катод
|
Диаметр светодиода
|
5 мм
|
Размер модуля
|
15 мм x 19 мм
|
Схема подключения rgb Arduino KY-016.
Подключение rgb светодиода к Arduino следующим оброзом:красный контакт (R) на KY-016 к контакту 9 на Arduino. Синий (B) к контакту 11, зеленый (G) к контакту 10 и земля (-) к GND. Обратите внимание, что вам не нужно использовать ограничивающие резисторы, поскольку они уже установлены на плату.
Контакты:
- I – общий провод, подключается к GND.
На эти контакты подается питание положительной полярности:
- R – красный,
- G – зеленый,
- B – синий.
Схема подключения KY-016 к Arduino UNO.
Схема подключения KY-016 к Arduino NANO.
Arduino rgb скетч.
Следующий пример Arduino rgb скетч будет циклически переключаться между различными цветами, изменяя значение ШИМ для каждого из трех основных цветов.
int redpin = 9; //pin red LED
int bluepin =10; //pin blue LED
int greenpin = 11;//pin green LED
int val;
void setup() {
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(greenpin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
for(val = 255; val > 0; val--)
{
analogWrite(redpin, val); //PWM red
analogWrite(bluepin, 255 - val); //PWM blue
analogWrite(greenpin, 128 - val); //PWM green
Serial.println(val); //print
delay(5);
}
for(val = 0; val < 255; val++)
{
analogWrite(redpin, val);
analogWrite(bluepin, 255 - val);
analogWrite(greenpin, 128 - val);
Serial.println(val);
delay(5);
}
}
Второй вариант кода позволяет плавно изменять цвет из одного оттенка к другому и так по кругу.
#define R_PIN 9 //pin red LED
#define G_PIN 10 //pin blue LED
#define B_PIN 11 //pin green LED
void setup() {
pinMode(R_PIN, OUTPUT);
pinMode(G_PIN, OUTPUT);
pinMode(B_PIN, OUTPUT);
}
void loop() {
// плавно проходимся по всем цветам
static int counter = 0;
counter += 10;
colorWheel(counter);
delay(100);
if (counter > 1530)
counter = 0;
}
// включает цвет по цветовому колесу, принимает 0-1530
void colorWheel(int color) {
byte _r, _g, _b;
if (color <= 255) { // красный макс, зелёный растёт
_r = 255;
_g = color;
_b = 0;
}
else if (color > 255 && color <= 510) { // зелёный макс, падает красный
_r = 510 - color;
_g = 255;
_b = 0;
}
else if (color > 510 && color <= 765) { // зелёный макс, растёт синий
_r = 0;
_g = 255;
_b = color - 510;
}
else if (color > 765 && color <= 1020) { // синий макс, падает зелёный
_r = 0;
_g = 1020 - color;
_b = 255;
}
else if (color > 1020 && color <= 1275) { // синий макс, растёт красный
_r = color - 1020;
_g = 0;
_b = 255;
}
else if (color > 1275 && color <= 1530) { // красный макс, падает синий
_r = 255;
_g = 0;
_b = 1530 - color;
}
analogWrite(R_PIN, 255 - _r);
analogWrite(G_PIN, 255 - _g);
analogWrite(B_PIN, 255 - _b);
}
Код не оптимальный, но для понимания этого достаточно. Кроме этого, для облегчения работы с RGB светодиодами также есть библиотеки, например: RGBLed Arduino library.
Использование библиотеки RGBLed Arduino library для работы с модулем KY-016.
Скачать библиотеку RGBLed можно на github или внизу статьи, в разделе «файлы для скачивания»
Заходим в Arduino IDE и выбираем в меню: "Скетч –> Подключить библиотеку –> Добавить .ZIP библиотеку…"
Выбираем скаченный архив RGBLed-master.zip и нажимаем кнопку «Открыть». После установки вы увидите надпись, что библиотека успешно добавлена.
Для начала работы с библиотекой RGBLed ее нужно подключить.
#include <RGBLed.h>
Затем создать объект для подключения, указав пины подключения светодиода к Arduino.
RGBLed led(RED_PIN, GREEN_PIN, BLUE_PIN, RGBLed::COMMON_ANODE or RGBLed::COMMON_CATHODE);
В дальнейшем мы можем, в основном цикле loop(), оперировать цветом светодиода, для этого в библиотеке есть функции:
led.setColor(RGBLed::RED);
// или
led.setColor(255, 0, 0);
led.off();
led.brightness(RGBLed::RED, 50); // 50% brightness
// или
led.brightness(255, 0, 0, 50); // 50% brightness
Для того чтобы загорелся красный светодиод на 100 мс, достаточно в коде добавить строчку:
led.flash(RGBLed::RED, 100); // Interval 100ms
// или
led.flash(255, 0, 0, 100); // Interval 100ms
Также в библиотеки есть палитра цветов.
RED
GREEN
BLUE
MAGENTA
CYAN
YELLOW
WHITE
С библиотекой идут примеры использования. Например Вспышка:
#include <RGBLed.h>
RGBLed led(9, 10, 11, RGBLed::COMMON_CATHODE);
void setup() { }
void loop() {
// Flash red color, interval 100ms
led.flash(RGBLed::RED, 100);
// Flash green color, interval 100ms
led.flash(0, 255, 0, 100);
// Flash red color, during 250ms with interval 100ms
led.flash(RGBLed::RED, 250, 100);
// Flash green color, during 250ms with interval 100ms
led.flash(0, 255, 0, 250, 100);
}
Как видим из кода, у нас будем c, про которую есть у меня на сайт отдельный урок: Полицейская мигалка своими руками из светодиодов на Arduino
Вывод
Модуль KY-016 показал себя как достаточно простой в использовании, и применить его можно в различных проектах на Arduino. И главный плюс, по сравнению с модуля KY-009, — это распаянные резисторы.
Понравился Урок KY-016 - Модуль RGB светодиода 5 мм. Подключение к Arduino? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
|
Arduino rgb скетч.ino | 1 Kb | 602 |
Скачать
Вы можете скачать файл.
|
|
Кода позволяет плавно изменять цвет RGB светодиода.ino | 2 Kb | 563 |
Скачать
Вы можете скачать файл.
|
|
KY-016 Пример кода с библиотекой RGBLed.ino | 0 Kb | 537 |
Скачать
Вы можете скачать файл.
|
|
библиотека RGBLed Arduino library.zip | 18 Kb | 623 |
Скачать
Вы можете скачать файл.
|
Комментарии