const int rled = 11;
const int gled = 10;
const int bled = 9;
const int button = 2;
boolean lastbutton = LOW;
boolean currentbutton = LOW;
int ledmode = 0;
void setup() {
pinMode(rled, OUTPUT);
pinMode(gled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(button, INPUT);
}
boolean debounce (boolean prev)
{
boolean current = digitalRead(button);
if (current != prev)
{
delay (5);
current = digitalRead(button);
}
return current;
}
void setmode (int prevmode)
{
if (prevmode == 1)
{
digitalWrite(rled, HIGH);
digitalWrite(gled, LOW);
digitalWrite(bled, LOW);
}
if (prevmode == 2)
{
digitalWrite(rled, LOW);
digitalWrite(gled, HIGH);
digitalWrite(bled, LOW);
}
if (prevmode == 3)
{
digitalWrite(rled, LOW);
digitalWrite(gled, LOW);
digitalWrite(bled, HIGH);
}
if (prevmode == 4)
{
digitalWrite(rled, 127);
digitalWrite(gled, 0);
digitalWrite(bled, 127);
}
if (prevmode == 5)
{
digitalWrite(rled, 127);
digitalWrite(gled, 127);
digitalWrite(bled, 0);
}
if (prevmode == 6)
{
digitalWrite(rled, 0);
digitalWrite(gled, 127);
digitalWrite(bled, 127);
}
if (prevmode == 7)
{
digitalWrite(rled, 85);
digitalWrite(gled, 85);
digitalWrite(bled, 85);
}
if (prevmode == 8)
{
digitalWrite(rled, 127);
digitalWrite(gled, 63);
digitalWrite(bled, 63);
}
else
{
digitalWrite(rled, LOW);
digitalWrite(gled, LOW);
digitalWrite(bled, LOW);
}
}
void loop()
{
currentbutton = debounce(lastbutton);
if (lastbutton == LOW && currentbutton == HIGH)
{
ledmode++;
}
lastbutton = currentbutton;
if (ledmode == 8)
{
ledmode = 0;
}
setmode(ledmode);
}