Как подключить RGB светодиод к Arduino
RGB светодиод – это три светодиода разных цветов (Red – красный, Green – зелёный, Blue – синий), заключённые в одном корпусе. Давайте посмотрим, как подключить RGB светодиод к Arduino.
Инструкция по подключению RGB светодиода к Arduino
Нам понадобится:
- Arduino UNO или иная совместимая плата;
- RGB светодиод;
- 3 резистора по 220 Ом (вот отличный набор резисторов самых распространённых номиналов);
- соединительные провода (рекомендую вот такой набор);
- макетная плата (breadboard);
- персональный компьютер со средой разработки Arduino IDE.
1 Отличие RGB светодиодов с общим анодом и с общим катодом
RGB светодиоды бывают двух типов: с общим анодом («плюсом») и общим катодом («минусом») . На рисунке приведены принципиальные схемы эти двух типов светодиодов. Длинная ножка светодиода – это всегда общий вывод питания. Отдельно расположен вывод красного светодиода (R), зелёный (G) и синий (B) располагаются по другую сторону от общего вывода, как показано на рисунке. В данной статье мы рассмотрим подключение RGB светодиода как с общим анодом, так и с общим катодом.
2 Подключение RGB светодиода с общим анодомк Arduino
Схема подключения RGB светодиода с общим анодом показана на рисунке. Анод подключаем к "+5 В" на плате Arduino, три другие вывода – к произвольным цифровым пинам.
Обратите внимание, что мы подключаем каждый из светодиодов через свой резистор, а не используем один общий. Желательно делать именно так, потому что каждый из светодиодов имеет свой КПД. И если подключить их все через один резистор, светодиоды будут светиться с разной яркостью.
Для быстрого расчёта номинала резистора, подходящего к выбранному вами светодиоду, можно воспользоваться онлайн-калькулятором расчёта светодиодов.
3Управление RGB светодиодами с помощью Arduino
Перепишем классический скетч blink. Будем включать и отключать по очереди каждый из трёх цветов. Обратите внимание, что светодиод загорается, когда мы подаём низкий уровень (LOW) на соответствующий вывод Arduino.
// задаём номера выводов: const int pinR = 12; const int pinG = 10; const int pinB = 9; void setup() { // задаём назначение выводов: pinMode(pinR, OUTPUT); pinMode(pinG, OUTPUT); pinMode(pinB, OUTPUT); } void loop() { digitalWrite(pinR, LOW); //зажигаем канал Red delay(100); digitalWrite(pinR, HIGH); //выключаем Red delay(200); digitalWrite(pinG, LOW); //зажигаем канал Green delay(100); digitalWrite(pinG, HIGH); //выключаем Green delay(200); digitalWrite(pinB, LOW); //зажигаем канал Blue delay(100); digitalWrite(pinB, HIGH); //выключаем Blue delay(200); }
4 Собрать схемуна макетной плате
Посмотрим в действии на мигание RGB светодиодом. Светодиод по очереди зажигается красным, зелёным и синим цветами. Каждый цвет горит 0,1 секунду, а затем гаснет на 0,2 секунды, и включается следующий. Можно зажигать каждый канал отдельно, можно все одновременно, тогда цвет свечения будет меняться.
5Подключение RGB светодиода с общим катодомк Arduino
Если вы используете RGB светодиод с общим катодом, то подключите длинный вывод светодиода к GND платы Arduino, а каналы R, G и B – к цифровым портам Arduino. При этом нужно помнить, что светодиоды загораются при подаче на каналы R, G, B высокого уровня (HIGH), в отличие от светодиода с общим анодом.
Если не менять вышеприведённый скетч, то каждый цвет светодиода в этом случае будет гореть 0,2 секунды, а пауза между ними составит 0,1 секунду.
Полезный совет
Если вы хотите управлять яркостью светодиода, то подключайте RGB светодиод к цифровым выводам Arduino, которые имеют функцию ШИМ (PWM). Такие выводы на плате Arduino обычно помечены знаком тильда (волнистая линия), звёздочкой или обведены кружочками.
Поблагодарить автора:
Поделиться
Related items
1 comment
-
Igor Вторник, 16 Июль 2019 21:04 Ссылка на комментарий
очень интересная статья,я сам собрал такую мигалку.