uint32_t ms = 1000;
uint8_t pin[] = {
11, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
void setDelayTime(){
static uint8_t itr = 2;
static bool down = true;
uint32_t times[] = { 100, 250, 500, 1000 };
ms = times[itr];
if(down){
itr--;
if(itr == 0) down = false;
}
else{
itr++;
if(itr == 3) down = true;
}
}
void setup() {
for (uint8_t led = 0; led < 10; ++led) {
pinMode(pin[led], OUTPUT);
}
}
void loop() {
int8_t led = 9;
digitalWrite(pin[led], HIGH);
delay(ms);
for(led = 8; led >= 0; --led){
digitalWrite(pin[led + 1], LOW);
digitalWrite(pin[led], HIGH);
delay(ms);
}
setDelayTime();
for(led = 1; led < 9; ++led){
digitalWrite(pin[led - 1], LOW);
digitalWrite(pin[led], HIGH);
delay(ms);
}
digitalWrite(pin[led - 1], LOW);
digitalWrite(pin[led], LOW);
setDelayTime();
}