problema con codigo millis y for (SOLUCIONADO)

hola gente, estuve alejado de arduino y parece que la neumonia me afecto las neuronas jaja, siempre hago codigos de muy novato ahora quise pasar a novato. el codigo deberia prender de uno en uno los led y luego apagarlos, pero algo hago mal, las conexiones estan bien ya que lo probe con delay y sin usar for.

int leds;

int    estadoled = LOW;

long tinicial=0;

long intervalo = 1000;

void setup()
{
	for(leds=8; leds<=12; leds++){
		pinMode(leds, OUTPUT);
	}
}

void loop()
{

	for(leds=8; leds <=12; leds++){

	unsigned long currentmillis = millis();

	if(currentmillis - tinicial >= intervalo){
      tinicial = currentmillis;

    if(estadoled == LOW)
        
        estadoled=HIGH;
        else 
        estadoled = LOW;

        digitalWrite (leds, estadoled);

    }

    }
	    
	}

a ver asi

int  leds;
int  estadoled              = LOW;
unsigned long tinicial      = 0;
unsigned long intervalo     = 1000;

void setup() {
  for(leds=8; leds<=12; leds++){
    pinMode(leds, OUTPUT);
  }
}

void loop() {
  
  tinicial = millis();
  for (leds=8; leds <=12; leds++){
       if (millis() - tinicial >= intervalo){
            digitalWrite (leds, !digitalRead(leds));
            tinicial = millis();
       }
  }
}

gracias surbyte, lo copio y lo pruebo, pero el void loop lo voy a tener que decifrar, ya que desde arranque se fue unsigned long. ya te voy a comentar como me fue :confused:

en tu codigo me prende un led, en el mio solo le cambien los tiempo prenden todos pero de la manera que quiere tanto en la placa fisica como en el proteus 8.5, lo bueno de esto es que comprobe que proteus es un buen simulador, ya que simula lo mismo que mi mega

Resuelto

int  leds;
bool  estadoled              = LOW;
unsigned long tinicial      = 0;
unsigned long intervalo     = 1000;

void setup() {
  Serial.begin(9600);
  for(leds=8; leds<=12; leds++){
    pinMode(leds, OUTPUT);
  }
  leds = 8;
  tinicial = 0;
}

void loop() {
    
  if (millis() - tinicial >= intervalo){
      digitalWrite (leds, !digitalRead(leds));
      Serial.println(leds);
      if(leds++ == 12)
         leds = 8;
      tinicial = millis();
  }
}