Светодиоды широко используются в проектах на Arduino. Сегодня рассмотрим модуль KY-016, которой оснащен RGB светодиодам 5 мм. В отличие от модуля «KY-009 RGB светодиода (SMD)», данный модуль оснащен резисторами и его можно подключать напрямую к Arduino, без дополнительной обвязки. Схема подключения и код аналогичные с модулем KY-009.
KY-016 - rgb led Arduino полноцветный 5-миллиметровый светодиод RGB, разные цвета и оттенки могут быть получены путем смешивания трех основных цветов.
Этот rgb модуль Arduino состоит из 5- миллиметрового RGB-светодиода и трех токоограничивающих резисторов на 150 Ом, для предотвращения перегорания. Регулировка сигнала ШИМ на каждом пине модуля приведет к изменению цвета светодиода.
Рабочее напряжение |
5В |
Светодиодный режим управления |
Общий катод |
Диаметр светодиода |
5 мм |
Размер модуля |
15 мм x 19 мм |
Подключение rgb светодиода к Arduino следующим оброзом:красный контакт (R) на KY-016 к контакту 9 на Arduino. Синий (B) к контакту 11, зеленый (G) к контакту 10 и земля (-) к GND. Обратите внимание, что вам не нужно использовать ограничивающие резисторы, поскольку они уже установлены на плату.
Контакты:
На эти контакты подается питание положительной полярности:
Следующий пример 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 можно на 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 | 833 | Скачать |
![]() |
Кода позволяет плавно изменять цвет RGB светодиода.ino | 2 Kb | 785 | Скачать |
![]() |
KY-016 Пример кода с библиотекой RGBLed.ino | 0 Kb | 743 | Скачать |
![]() |
библиотека RGBLed Arduino library.zip | 18 Kb | 883 | Скачать |
37 модулей для Arduino
21 мая , 2021
Комментариев:0
Файлов для скачивания:4
Фото:8
Понравилась статья? Нажми
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии