/*const int RED=11; // вывод красной ноги RGB-светодиода
const int GREEN=10; // вывод зеленой ноги RGB-светодиода
const int BLUE=9; // вывод синей ноги RGB-светодиода
int red; // переменная для хранения R-составляющей цвета
int green; // переменная для хранения G-составляющей цвета
int blue; // переменная для хранения B-составляющей цвета
void setup()
{;}
void loop()
{
// от красного к желтому
red=255;green=0;blue=0;
for(green=0;green<=255;green++)
setRGB(red,green,blue);
// от желтому к зеленому
for(red=255;red>=0;red--)
setRGB(red,green,blue);
// от зеленого к голубому
for(blue=0;blue<=255;blue++)
setRGB(red,green,blue);
// от голубого к синему
for(green=255;green>=0;green--)
setRGB(red,green,blue);
// от синего к фиолетовому
for(red=0;red<=255;red++)
setRGB(red,green,blue);
// от фиолетового к красному
for(blue=255;blue>=0;blue--)
setRGB(red,green,blue);
//delay(2500);
} // функция установки цвета RGB-светодиода
void setRGB(int r,int g,int b)
{
analogWrite(RED,r);
analogWrite(GREEN,g);
analogWrite(BLUE,b);
delay(10);
}*/
int r=0; // вводим переменную r типа int, красный
int g=0; // вводим переменную g типа int, зеленый
int b=0; // вводим переменную b типа int, синий
int k=250; // вводим переменную k типа int, яркость
void setup()
{
pinMode(9, OUTPUT); // назначаем вывод 9 выходом, к нему подключаем зеленый светодиод
pinMode(10, OUTPUT); // назначаем вывод 10 выходом, к нему подключаем синийй светодиод
pinMode(11, OUTPUT); // назначаем вывод 11 выходом, к нему подключаем красный светодиод
}
void loop()
{
while(r < k) {rgb(); r++;} // плавно зажигаем красный светодиод
while(g < k) {rgb(); g++;} // плавно зажигаем зеленый светодиод
while(r > 0) {rgb(); r--;} // плавно гасим красный светодиод
while(b < k) {rgb(); b++;} // плавно зажигаем синий светодиод
while(g > 0) {rgb(); g--;} // плавно гасим зеленый светодиод
while(r < k) {rgb(); r++;} // плавно зажигаем красный светодиод
while(b > 0) {rgb(); b--;} // плавно гасим синий светодиод
}
void rgb()
{
analogWrite(11, r);
analogWrite(9, b);
analogWrite(10, g);
delay(10);
}
/*Реализуйте плавное изменение цвета RGB-светодиода WS2812 от красного к зелёному, затем от зелёного к синему и обратно к красному.
Переход между цветами должен быть плавным и занимать 5 секунд для каждого перехода.
*/