#define RGB_RED_PIN 13
#define RGB_BLUE_PIN 12
#define RGB_GREEN_PIN 14
#define POTENTIOMETER_PIN A0
void setup()
{
Serial.begin (9600);
pinMode(RGB_RED_PIN, OUTPUT);
pinMode(RGB_BLUE_PIN, OUTPUT);
pinMode(RGB_GREEN_PIN, OUTPUT);
}
void loop()
{
int potentiometerValue = analogRead(POTENTIOMETER_PIN);
int rgbValue = map(potentiometerValue, 0, 1023, 0, 1535);
int red;
int blue;
int green;
if (rgbValue < 256) {
red = 255;
blue = rgbValue;
green = 0;
}
else if (rgbValue < 512) {
red = 511 - rgbValue;
blue = 255;
green = 0;
}
else if (rgbValue < 768) {
red = 0;
blue = 255;
green = rgbValue - 512;
}
else if (rgbValue < 1024) {
red = 0;
blue = 1023 - rgbValue;
green = 255;
}
else if (rgbValue < 1280) {
red = rgbValue - 1024;
blue = 0;
green = 255;
}
else {
red = 255;
blue = 0;
green = 1535 - rgbValue;
}
analogWrite(RGB_RED_PIN, red);
Serial.print("RED:");
Serial.println(red);
delay(1000);
analogWrite(RGB_BLUE_PIN, blue);
Serial.print("BLUE:");
Serial.println(blue);
delay(1000);
analogWrite(RGB_GREEN_PIN, green);
Serial.print("GREEN:");
Serial.println(green);
delay(1000);
Serial.print(rgbValue);
Serial.println( );
}