#define REDPIN 5
#define GREENPIN 6
#define BLUEPIN 3
#define FADESPEED 30 // чем выше число, тем медленнее будет fade-эффект
void setup() {
pinMode(REDPIN, OUTPUT);
pinMode(GREENPIN, OUTPUT);
pinMode(BLUEPIN, OUTPUT);
}
void loop() {
int r, g, b;
// fade от голубого к фиолетовому
for (r = 0; r < 255; r++) {
analogWrite(REDPIN, r);
delay(FADESPEED);
}
// fade от фиолетового к красному
for (b = 255; b > 0; b--) {
analogWrite(BLUEPIN, b);
delay(FADESPEED);
}
// fade от красного к желтому
for (g = 0; g < 255; g++) {
analogWrite(GREENPIN, g);
delay(FADESPEED);
}
// fade от желтого к зеленому
for (r = 255; r > 0; r--) {
analogWrite(REDPIN, r);
delay(FADESPEED);
}
// fade от зеленого к зеленовато-голубому
for (b = 0; b < 256; b++) {
analogWrite(BLUEPIN, b);
delay(FADESPEED);
}
// fade от зеленовато-голубого к голубому
for (g = 255; g > 0; g--) {
analogWrite(GREENPIN, g);
delay(FADESPEED);
}
}