// variable definition const int LED = 9; const int BUTTON = 7; int butt,butt_old,state,light1,light2; // Arduino init void setup() { pinMode(LED, OUTPUT); pinMode(BUTTON, INPUT); state=0; } // Arduino loop void loop() { butt=digitalRead(BUTTON); if ((butt-butt_old)==1) state=state+1; // state changes during the rising edge of "butt" if (state==3) state=0; // state cycle among 0, 1 or 2 if (state==0) {light1=0;light2=0;} // on state 0 both lights ar turned OFF if (state==1) {light1=1;light2=0;} // on state 1 one light is ON and one is OFF if (state==2) {light1=1;light2=1;} // on state 2 both lights ar turned ON // cycle between the two lights states digitalWrite(LED, light1); delay(10); digitalWrite(LED, light2); delay(100); butt_old=butt; // update butt_old variable }