consider
enum { Off = HIGH, On = LOW };
byte pinsLed [] = { 10, 11, 12 };
#define N_LED sizeof(pinsLed)
byte pinBut = A1;
byte stateBut = HIGH;
unsigned long msecLst;
// -----------------------------------------------------------------------------
void
seqLed (void)
{
static int idx = 0;
digitalWrite (pinsLed [idx], Off);
idx = (idx+1) % N_LED;
digitalWrite (pinsLed [idx], On);
}
// -----------------------------------------------------------------------------
#define Timer 100
void loop () {
// sequence leds every 100 msec
unsigned long msec = millis ();
if (msec > msecLst) {
msecLst = msec + Timer;
seqLed ();
}
// toggle builtin-led on button press
byte but = digitalRead (pinBut);
if (stateBut != but) {
stateBut = but;
delay (10); // debounce
if (LOW == but) {
Serial.println ("press");
digitalWrite (LED_BUILTIN, ! digitalRead (LED_BUILTIN));
}
}
}
// -----------------------------------------------------------------------------
void setup () {
Serial.begin (9600);
pinMode (LED_BUILTIN, OUTPUT);
for (unsigned n = 0; n < N_LED; n++) {
pinMode (pinsLed [n], OUTPUT);
digitalWrite (pinsLed [n], Off);
}
pinMode (pinBut, INPUT_PULLUP);
}