61 lines
954 B
C++
61 lines
954 B
C++
// 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);
|
|
}
|