int red = 0; int green = 0; int blue = 0; const int redPin = 9; const int bluePin = 10; const int greenPin = 11; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void goForward() { if (red < 255) { red++; analogWrite(redPin, red); delay(100); } else if (red = 255) { if (blue < 255) { blue++; analogWrite(bluePin, blue); delay(100); } } else if (red == 255 & blue == 255) { if (green < 255) { green++; analogWrite(greenPin, green); delay(100); } } else if (red == 255 || blue == 255 || green == 255) { goReverse; } } void goReverse() { if (red > 0) { red--; analogWrite(redPin, red); delay(100); } else if (red == 0) { if (blue > 0) { blue--; analogWrite(bluePin, blue); delay(100); } } else if (red == 0 || blue == 0) { if (green > 0) { green--; analogWrite(greenPin, green); delay(100); } } else if (red == 0 || blue == 0 || green == 0) { goForward; } } void loop() { goForward(); goReverse(); }