#define RED 12 #define GREEN 11 #define BLUE 10 #define BUTTON 7 int val = 0; int old_val = 0; int state = 0; int led = 12; int newled = 12; void setup () { Serial.begin(9600); pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); pinMode (BUTTON, INPUT); } void loop () { val = digitalRead (BUTTON); if((val == HIGH) && (old_val == LOW)) { newled = led - 1; if (newled == 8) { newled = 12; } led = newled; delay(100); } old_val = val; if (led == 12) { digitalWrite(RED, HIGH); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); delay (100); digitalWrite(RED, LOW); delay (100); } if (led == 11) { digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); delay (100); digitalWrite(GREEN, LOW); delay (100); } if (led == 10) { digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, HIGH); delay (100); digitalWrite(BLUE, LOW); delay (100); } if (led == 9) { digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); } Serial.print ("LED: "); if (led == 12) { Serial.println ("RED"); } if (led == 11) { Serial.println ("GREEN"); } if (led == 10) { Serial.println ("BLUE"); } if (led == 9) { Serial.println ("OFF"); } }