Skip to content

Instantly share code, notes, and snippets.

@mamut
Created January 16, 2011 18:56
Show Gist options
  • Select an option

  • Save mamut/782034 to your computer and use it in GitHub Desktop.

Select an option

Save mamut/782034 to your computer and use it in GitHub Desktop.
int B = 3;
int G = 5;
int R = 6;
int red = 255;
int green = 0;
int blue = 0;
int step = 1;
int phase = 0;
void setColor(int r, int g, int b) {
analogWrite(R,r);
analogWrite(G,g);
analogWrite(B,b);
}
void setup() {
pinMode(B, OUTPUT);
pinMode(G, OUTPUT);
pinMode(R, OUTPUT);
}
void loop() {
if(green == 255 && red == 0) {
phase = 1;
}
if(blue == 255 && green == 0) {
phase = 2;
}
if(red == 255 && blue == 0) {
phase = 0;
}
if(phase == 0) {
red -= step;
green += step;
}
if(phase == 1) {
green -= step;
blue += step;
}
if(phase == 2) {
blue -= step;
red += step;
}
setColor(red, green, blue);
delay(5);
}
int B = 3;
int G = 5;
int R = 6;
int button = 4;
int led = 13;
int red = 255;
int green = 0;
int blue = 0;
int step = 1;
int phase = 0;
void setColor(int r, int g, int b) {
analogWrite(R,r);
analogWrite(G,g);
analogWrite(B,b);
}
void setup() {
pinMode(B, OUTPUT);
pinMode(G, OUTPUT);
pinMode(R, OUTPUT);
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
int stopBlink = digitalRead(button);
digitalWrite(led, stopBlink);
if(green == 255 && red == 0) {
phase = 1;
}
if(blue == 255 && green == 0) {
phase = 2;
}
if(red == 255 && blue == 0) {
phase = 0;
}
if(phase == 0) {
red -= step;
green += step;
}
if(phase == 1) {
green -= step;
blue += step;
}
if(phase == 2) {
blue -= step;
red += step;
}
if(stopBlink == LOW) {
setColor(0, green, blue);
} else {
setColor(red, green, blue);
}
delay(5);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment