ayuda con leds

Buenas noches, aun continuo trabajando en este proyecto, pero ahora tengo un inconveniente, espero me puedan ayudar por favor como la anterior ocasión.
Resulta que quiero encender 3 leds al mismo tiempo, pero que después de un segundo solo quede encendido uno solo de manera fija, hasta que vuelva a presionar el botón de on/off.
La verdad he intentado con el código de programación, pero no lo he logrado conseguir, para ello he utilizado las instrucciones 'while', 'for', 'break' y otras por el estilo, pero no he podido lograrlo, de antemano muchas gracias por la colaboración.

Saludos desde Colombia.

A ver si entiendo bien:

Tenemos un pulsador ON/OFF (pulsador o interruptor?), que al pulsarlo enciende 3 led durante 1 segundo y después se apagan 2 y permanece el 3º hasta que se pulse de nuevo ON/OFF que se apaga todo.

Es correcto?

exactamente, eso es lo que quiero hacer con un interruptor

Prueba algo así, a ver como te va:

byte Pulsador = 1;  // Pin pulsador
byte Led[] = {2,3,4};  // Pines led
bool EstadoPulsador = false;  // Estado del pulsador
byte EstadoLeds = 0;  // 0 = Todo apagado, 1 = Todo encendido, 2 = 1 encendido
unsigned long aMillis = 0;  // Para controlar desborde en millis()
unsigned long DemoraApagar = 0;  // Demora para apagar los 2 primeros led 

void setup() 
{
  pinMode(Pulsador, INPUT);      // Establecer pin de pulsador como entrada
  for (int x = 0; x < 3; x++)
  {
    pinMode(Led[x], OUTPUT);    // Establecer pinees de led como salida
    digitalWrite(Led[x], LOW);  
  }
}

void loop() 
{
  aMillis = millis();  // Para controlar el desborde de millis()
  EstadoPulsador = digitalRead(Pulsador);
  if (EstadoPulsador && EstadoLeds == 0)  // Pulsador high y todo apagado
  {
    for (int x = 0; x < 3; x++) {digitalWrite(Led[x], HIGH);}  // Encendemos los 3 led
    EstadoLeds ++;  // Pasamos a estado 3 encendidos                       
    DemoraApagar = millis() + 1000;  // Tiempo para apagar los led
  }
  else if (!EstadoPulsador && EstadoLeds > 0)  // Pulsador low y maniobra iniciada
  {
    EstadoLeds = 0;
    DemoraApagar = 0;
    for (int x = 0; x < 3; x++) {digitalWrite(Led[x], LOW);}  // Apagamos los 3 led
  }

  if (EstadoLeds == 1 && millis() > DemoraApagar)  // · led encendidos y transcurrio timepo para apagar los 2 primeros
  {
    EstadoLeds++;    // Pasa<mos estado a 1 encendido
    for (int x = 0; x < 2; x++) {digitalWrite(Led[x], LOW);}  // Apagamos los 2 led
    DemoraApagar = 0;
  }
  
  if (aMillis > millis() && DemoraApagar > 0)  // Milis() ha y lo estamos usando
  {
    DemoraApagar = DemoraApagar - aMillis + millis();  // Nuevo valor para el control
  }
}