// Define Pins & Delay #define BLUE 4 #define GREEN 5 #define RED 6 #define DELAY 10 // define global variables int redValue; int greenValue; int blueValue; int redDir = -1; int greenDir = 1; int blueDir = 0; void setup() { pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); redValue = 0; greenValue = 0; blueValue = 255; analogWrite(RED, redValue); analogWrite(GREEN, greenValue); analogWrite(BLUE, blueValue); Serial.begin(9600); } // main loop void loop() { if (redValue == 255) { redDir = -1; greenDir = 1; blueDir = 0; } else if (greenValue == 255) { redDir = 0; greenDir = -1; blueDir = 1; } else if (blueValue == 255) { redDir = 1; greenDir = 0; blueDir = -1; } redValue += redDir; greenValue += greenDir; blueValue += blueDir; analogWrite(RED, redValue); analogWrite(GREEN, greenValue); analogWrite(BLUE, blueValue); delay(DELAY); }