int delayTime = 500;
int currentLed = 0;
int lastLed = 0;
int dir = 1;
long timeChanged = 0;
byte ledPin[] = {13,12,11,10,9,8,7,6,5,4};
const int BUTTON = 2;
void setup() {
for(int i = 0; i <10; i++) {
pinMode(ledPin[i], OUTPUT);
}
pinMode(BUTTON, INPUT);
Serial.begin(9600);
timeChanged = millis();
}
void loop() {
if ((millis() - timeChanged) > delayTime) {
int boton = digitalRead(BUTTON);
digitalWrite(ledPin[lastLed], LOW);
digitalWrite(ledPin[currentLed], HIGH);
lastLed = currentLed;
currentLed = currentLed + dir;
if(currentLed == 9) {
dir = -1;
}
if (currentLed == 0) {
dir = 1;
}
if(boton) dir = -1;
timeChanged = millis();
}
}