Saludos, hace poco retome parte de mi hobby con arduino, y comenzando haciendo tareas sencillas como prender y apagar un led. Ahora quisiera hacer un secuencial de leds con un botón de los que quedan retenidos pero e probado varias formas sin un buen resultado, cualquier opinión o sugerencia que me pudieran hacer estaria agradecido.
el código es el siguiente, en este caso solo enciende el Led1 y Led2 pero no agregue los otros desastres de código debido a que no me funcionan

Edito: al oprimir una segunda vez el botón quisiera prender el Led3 y al dejarlo de oprimir encender el Led4 y comenzar el ciclo.
// --- Declaración de constantes, nº de puertos
const int boton = 8;
const int led1 = 9;
const int led2 = 10;
const int led3 = 11;
const int led4 = 12;
// --- Variables de trabajo
bool estadoboton = true ;
// --- Configuración general
void setup() {
// --- Activacion de los estados de los puertos
pinMode(boton, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
// --- Apago los led
digitalWrite(led1 , false);
digitalWrite(led2 , false);
digitalWrite(led3 , false);
digitalWrite(led4 , false);
}
// --- Ciclo
void loop() {
// --- Pregunto el estado del boton
estadoboton = digitalRead(boton);
// ---Si pulso boton enciende led 1 y apaga (led 2, 3 y 4)
if (estadoboton == false) {
// --- Elimino rebote
delay(50);
// --- Si pulso boton enciende led 1 y apaga (led 2, 3 y 4)
if (estadoboton == false) {
digitalWrite(9, true);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
// --- Pregunto el estado del boton
estadoboton = digitalRead(boton);
// --- Si dejo de pulsar boton apaga (led 1, 3 y 4) y enciende led 2
if (estadoboton == true) {
// --- Elimino rebote
delay(50);
// --- Si dejo de pulsar boton apaga (led 1, 3 y 4) y enciende led 2
if (estadoboton == true) {
digitalWrite(9, false);
digitalWrite(10, true);
digitalWrite(11, false);
digitalWrite(12, false);
}
}
}
}
}De antemano gracias, cualquier ayuda sera buena en este aprendizaje.