You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.8 KiB
84 lines
1.8 KiB
3 years ago
|
//www.elegoo.com
|
||
|
//2016.12.8
|
||
|
|
||
|
// Define Pins
|
||
|
#define BLUE 3
|
||
|
#define GREEN 5
|
||
|
#define RED 6
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
pinMode(RED, OUTPUT);
|
||
|
pinMode(GREEN, OUTPUT);
|
||
|
pinMode(BLUE, OUTPUT);
|
||
|
digitalWrite(RED, HIGH);
|
||
|
digitalWrite(GREEN, LOW);
|
||
|
digitalWrite(BLUE, LOW);
|
||
|
}
|
||
|
|
||
|
// define variables
|
||
|
int redValue;
|
||
|
int greenValue;
|
||
|
int blueValue;
|
||
|
|
||
|
// main loop
|
||
|
void loop()
|
||
|
{
|
||
|
#define delayTime 10 // fading time between colors
|
||
|
|
||
|
redValue = 255; // choose a value between 1 and 255 to change the color.
|
||
|
greenValue = 0;
|
||
|
blueValue = 0;
|
||
|
|
||
|
// this is unnecessary as we've either turned on RED in SETUP
|
||
|
// or in the previous loop ... regardless, this turns RED off
|
||
|
// analogWrite(RED, 0);
|
||
|
// delay(1000);
|
||
|
|
||
|
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);
|
||
|
}
|
||
|
}
|
||
|
|