const byte PinButUp  = 2;
const byte PinButRst = 3;
const byte PinLeds [] = { 12, 11, 10, 9 };
const int  Nled = 4;
int idx;
const int Off = LOW;
const int On  = HIGH;
void loop() {
  if (LOW == digitalRead(PinButUp))  {
    if (idx < Nled)
       idx++;
  }
  else if (LOW == digitalRead (PinButRst))  {
     idx = 0;
     Serial.println ("reset");
  }
  for (int n = 0; n < Nled; n++)
    digitalWrite (PinLeds [n], Off);
  for (int n = 0; n < idx; n++)
    digitalWrite (PinLeds [n], On);
  
  delay (500);    // recognize single buttton presses
}
void setup() {
  Serial.begin(115200);
  pinMode (PinButUp,  INPUT_PULLUP);
  pinMode (PinButRst, INPUT_PULLUP);
  for (int n = 0; n < Nled; n++)
    pinMode (PinLeds [n], OUTPUT);
  for (int n = 0; n < Nled; n++)  {
    digitalWrite (PinLeds [n], On);
    delay (500);
  }
  for (int n = 0; n < Nled; n++)  {
    digitalWrite (PinLeds [n], Off);
    delay (500);
  }
}