// Project 3: Simple Way to use a RGB LED
#define BLUE 3 // Define RGB LED pins
#define GREEN 5 // A commom cathode LED type was choosen
#define RED 6 // A small breadboard was added also
#define delayTime 10 // fading time between colors
int redValue; // define variables for color intensity
int greenValue;
int blueValue;
void setup() {
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}
// main loop
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
for(int i = 0; i < 255; i += 1) { // fades out red bring green full when i=255
redValue -= 1;
greenValue += 1;
/* The following was reversed, counting in the wrong directions
analogWrite(RED, 255 - redValue);
analogWrite(GREEN, 255 - greenValue); */
analogWrite(RED, redValue);
analogWrite(GREEN, greenValue);
delay(delayTime);
}
redValue = 0;
greenValue = 255;
blueValue = 0;
for(int i = 0; i < 255; i += 1) { // fades out green bring blue full when i=255
greenValue -= 1;
blueValue += 1;
/* The following was reversed, counting in the wrong directions
analogWrite(GREEN, 255 - greenValue);
analogWrite(BLUE, 255 - blueValue); */
analogWrite(GREEN, greenValue);
analogWrite(BLUE, blueValue);
delay(delayTime);
}
redValue = 0;
greenValue = 0;
blueValue = 255;
for(int i = 0; i < 255; i += 1) { // fades out blue bring red full when i=255
// The following code has been rearranged to match the other two similar sections
blueValue -= 1;
redValue += 1;
/* The following was reversed, counting in the wrong directions
analogWrite(BLUE, 255 - blueValue);
analogWrite(RED, 255 - redValue); */
analogWrite(BLUE, blueValue);
analogWrite(RED, redValue);
delay(delayTime);
}
}