// Define Pins & Delay #define BLUE 4 #define GREEN 5 #define RED 6 // define global variables int redValue; int greenValue; int blueValue; int redDir = -1; int greenDir = 1; int blueDir = 0; int de = 10; int potPin = A0; int potValue; 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() { potValue = analogRead(potPin); de = 1 + ((99.9 / 1023) * potValue); Serial.println(de); 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(de); }