RGB светодиод фактически представляет собой три светодиода разных цветов
(RGB - Red, Green, Blue - красный, зелёный, синий), объединённые в одном
корпусе. При этом имеется возможность одновременно управлять интенсивностью
каждого цвета независимо друг от друга и получать свечение любого оттенка.
Вот так выглядит RGB светодиод c выводами и диаметром линзы 5 мм:
void setup(){
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){
digitalWrite(11, 1); // зажигаем красный светодиод; КРАСНЫЙ
delay(3000);
digitalWrite(9, 1); // зажигаем зеленый светодиод; ЖЁЛТЫЙ
delay(3000);
digitalWrite(11, 0); // гасим красный светодиод; ЗЕЛЕНЫЙ
delay(3000);
digitalWrite(10, 1); // зажигаем синий светодиод; ГОЛУБОЙ
delay(3000);
digitalWrite(9, 0); // гасим зеленый светодиод; СИНИЙ
delay(3000);
digitalWrite(11, 1); // зажигаем красный светодиод; ФИОЛЕТОВЫЙ
delay(3000);
digitalWrite(9, 1); // зажигаем зеленый светодиод; БЕЛЫЙ
delay(3000);
digitalWrite(9, 0); // гасим зеленый светодиод;
digitalWrite(10, 0); // гасим синий светодиод;
digitalWrite(11, 0); // гасим красный светодиод;
delay(3000);
}
Результатом работы программы будет последовательное переключение цветов:
analogWrite(9, 90); // зажигаем зеленый светодиод на 35%;Полносью программа будет выглядеть так:
void setup(){
pinMode(9, OUTPUT); // СИНИЙ
pinMode(10, OUTPUT); // ЗЕЛЕНЫЙ
pinMode(11, OUTPUT); // КРАСНЫЙ
}
void loop(){
digitalWrite(11, 1); // зажигаем красный светодиод; КРАСНЫЙ
delay(300);
analogWrite(10, 90); // зажигаем зеленый светодиод на 35%; ОРАНЖЕВЫЙ
delay(300);
digitalWrite(10, 1); // зажигаем зеленый светодиод; ЖЁЛТЫЙ
delay(300);
digitalWrite(11, 0); // гасим красный светодиод; ЗЕЛЕНЫЙ
delay(300);
digitalWrite(9, 1); // зажигаем синий светодиод; ГОЛУБОЙ
delay(300);
digitalWrite(10, 0); // гасим зеленый светодиод; СИНИЙ
delay(300);
digitalWrite(11, 1); // зажигаем красный светодиод; ФИОЛЕТОВЫЙ
delay(300);
digitalWrite(10, 1); // зажигаем зеленый светодиод; БЕЛЫЙ
delay(300);
digitalWrite(9, 0); // гасим синий светодиод;
digitalWrite(10, 0); // гасим зеленый светодиод;
digitalWrite(11, 0); // гасим красный светодиод;
delay(300);
}