int lastButton = LOW;
int curButton = LOW;
int x = 0;
int red = 10;
int green = 9;
int blue = 8;
int button = 3;
int debounce(int last){
int current = digitalRead(button);
if(last != current){
delay(5);
current = digitalRead(button);
}
return current;
}
void setup() {
pinMode(red, OUTPUT);
digitalWrite(red, HIGH);
pinMode(green, OUTPUT);
digitalWrite(green, HIGH);
pinMode(blue, OUTPUT);
digitalWrite(blue, HIGH);
pinMode(button, INPUT);
digitalWrite(button, HIGH);
}
void loop() {
curButton = debounce(lastButton);
if(lastButton == HIGH && curButton == LOW){
if(x < 7){
x++;
}
else {x = 0;}
switch(x){
case 0:{
digitalWrite(red, HIGH);
digitalWrite(green, HIGH);
digitalWrite(blue, HIGH);
break;
}
case 1:{
digitalWrite(red, LOW);
break;
}
case 2:{
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
break;
}
case 3:{
digitalWrite(green, HIGH);
digitalWrite(blue, LOW);
break;
}
case 4:{
digitalWrite(green, LOW);
break;
}
case 5:{
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
break;
}
case 6:{
digitalWrite(blue, HIGH);
digitalWrite(green, LOW);
break;
}
case 7:{
digitalWrite(blue, LOW);
break;
}
}
}
lastButton = curButton;
}