const int Pin_R = 11; // Константа с № вывода к которому подключён светодиод const int Pin_G = 10; // Константа с № вывода к которому подключён светодиод const int Pin_B = 9; // Константа с № вывода к которому подключён светодиод int i,R,G,B; // Переменные для хранения значений цвета и ШИМ void setup(){ // Код внутри функции setup выполняется однократно при старте pinMode(Pin_R, OUTPUT); // Конфигурируем вывод, с ШИМ, Pin_R как выход pinMode(Pin_G, OUTPUT); // Конфигурируем вывод, с ШИМ, Pin_G как выход pinMode(Pin_B, OUTPUT); // Конфигурируем вывод, с ШИМ, Pin_B как выход i=0; R=255; G=0; B=0; // Задаём цвет: i=0 - перелив от красного к жёлтому, RGB - красный } void loop(){ // Код внутри функции loop выполняется постоянно switch(i){ // Выбор перелива: case 0: G++; if(G==255){i=1;} break; // От красного к жёлтому case 1: R--; if(R==0 ){i=2;} break; // От жёлтого к зелёному case 2: B++; if(B==255){i=3;} break; // От зелёного к голубому case 3: G--; if(G==0 ){i=4;} break; // От голубого к синему case 4: R++; if(R==255){i=5;} break; // От синего к фиолетовому case 5: B--; if(B==0 ){i=0;} break; // От фиолетового к красному } analogWrite(Pin_R, (255-R)); // Устанавливаем ШИМ с коэффициентом 255-R на выходе Pin_R analogWrite(Pin_G, (255-G)); // Устанавливаем ШИМ с коэффициентом 255-G на выходе Pin_G analogWrite(Pin_B, (255-B)); // Устанавливаем ШИМ с коэффициентом 255-B на выходе Pin_B delay(2); // Чем больше задержка, тем дольше перелив }