int rled = 10, gled = 11, bled = 12;
int last = LOW;
int current = LOW;
int ledon = 10;
int BUTTON = 2;
void setup() {
// put your setup code here, to run once:
pinMode(rled, OUTPUT);
pinMode(gled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(2, INPUT);
digitalWrite(ledon, HIGH);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(BUTTON); // Read the button state
if (last != current) // If it's different…
{
delay(5); // Wait 5ms
current = digitalRead(BUTTON); // Read it again
}
return current; // Return the current value
}
void loop() {
current = debounce(last); // Read debounced state
if (last == LOW && current == HIGH) // If it was pressed…
{
digitalWrite(ledon, LOW);
ledon += 1;
if (ledon > 12) ledon = 10;
}
last = current;
digitalWrite(ledon, HIGH);
}