Неожиданное поведение мигающего светодиодного кода

Я новичок в Arduino, так что это может быть действительно глупым сомнением, но я не нашел объяснения этому нигде в Интернете. Сначала я загрузил этот код (для мигания 5 светодиодов) на свой Arduino Uno:

 void setup(){
 pinMode(12, OUTPUT);
 pinMode(11, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(9, OUTPUT);
 pinMode(8, OUTPUT);
}

void loop(){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
delay(1000);
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);
delay(1000);
}

5 светодиодов светились ярко. Но когда я загрузил следующий код (используя оператор if для уменьшения размера предыдущего), светодиоды светились тускло.

int LEDpin = 13;
void setup(){
pinMode(LEDpin, OUTPUT);
}

void loop(){
digitalWrite(LEDpin, HIGH);
delay(1000);
digitalWrite(LEDpin,LOW);
delay(1000);
if(LEDpin >= 8){
LEDpin--;
} else {
  LEDpin = 8;
  }
}

Кроме того, когда я просто ввел оператор if без части else, ничего не произошло после того, как светодиод на выводе 8 загорелся и погас. Может кто-нибудь объяснить, почему светодиоды светились тускло во втором случае и почему ничего не светилось после светодиода 8, когда я пропустил часть else?

, 👍3