/*
 *      This sketch is for an RGB LED with "common cathode"
 *      (+ on R, G and B pins, 1 common pin to ground)
 *      ex. image: https://curiousart.org/eprojects/RGB_LEDsm.jpg
 *      -It does color cycling/fading on PWM pins
 *      Setup:
 *        - Wire each PWM pin thru a 330 ohm resistor to R,G and B
 *        - Wire LED Gnd pin to Gnd
 *  (For board hookup example, see: https://curiousart.org/eprojects/RGB_layout.jpg)
 */

int Red = 9; //-- can be any 3 PWM pins choosing from: 3,5,6,9,10,11
int Blue = 10;
int Green = 11;

void setup() {
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
//-- Start with all LEDs off
analogWrite(Red, 0);
analogWrite(Green, 0);
analogWrite(Blue, 0);
}

void loop() {
fadeDown(Green);  // B
fadeUp(Red);      // RB   (magenta)
fadeDown(Blue);   // R
fadeUp(Green);    // RGB  (white)
fadeDown(Blue);   // RG   (yellow)
fadeDown(Red);    // G
fadeUp(Blue);     // GB   (cyan)
}

void fadeDown(int RGBpin) {
    for(int i = 255; i > 0; i = i - 1) {  
    analogWrite(RGBpin, i);
    delay(7);
   }
}

void fadeUp(int RGBpin) {
    for(int i = 0; i < 255; i++) {
    analogWrite(RGBpin, i);
    delay(7);
   }
}