// Define GPIO pins for the Pico
const int redPin = 14;
const int greenPin = 15;
const int bluePin = 16;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// We have 3 transitions (R->G, G->B, B->R).
// 10,000ms total / 3 transitions = 3,333ms per transition.
// 3,333ms / 255 steps = ~13ms delay.
int fadeDelay = 13;
// 1. Red to Green
for (int i = 0; i <= 255; i++) {
analogWrite(redPin, 255 - i);
analogWrite(greenPin, i);
analogWrite(bluePin, 0);
delay(fadeDelay);
}
// 2. Green to Blue
for (int i = 0; i <= 255; i++) {
analogWrite(redPin, 0);
analogWrite(greenPin, 255 - i);
analogWrite(bluePin, i);
delay(fadeDelay);
}
// 3. Blue to Red
for (int i = 0; i <= 255; i++) {
analogWrite(redPin, i);
analogWrite(greenPin, 0);
analogWrite(bluePin, 255 - i);
delay(fadeDelay);
}
}