const int led1 = 32;
const int led2 = 33;
const int led3 = 13;
const int led4 = 22;
const int led5 = 21;
const int led6 = 5;
const int led7 = 23;
const int led8 = 19;
const int led9 = 18;
const int led10 = 27;
const int btn1 = 2;
const int btn2 = 4;
int contadorEncender = 0;
int contadorApagar = 6;
bool btn1_presionado = false;
bool btn2_presionado = false;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(btn1, INPUT);
pinMode(btn2, INPUT);
}
void loop() {
if (digitalRead(btn1) == HIGH && !btn1_presionado) {
btn1_presionado = true;
contadorEncender++;
if (contadorEncender <= 10) {
encenderLED(contadorEncender);
contadorApagar = contadorEncender;
}
delay(200);
}
else if (digitalRead(btn1) == LOW) {
btn1_presionado = false;
}
if (digitalRead(btn2) == HIGH && !btn2_presionado) {
btn2_presionado = true;
if (contadorApagar > 0) {
apagarLED(contadorApagar);
contadorApagar--;
contadorEncender = contadorApagar;
}
delay(200);
}
else if (digitalRead(btn2) == LOW) {
btn2_presionado = false;
}
}
void encenderLED(int numLED) {
switch (numLED) {
case 1:
digitalWrite(led1, HIGH);
break;
case 2:
digitalWrite(led2, HIGH);
break;
case 3:
digitalWrite(led3, HIGH);
break;
case 4:
digitalWrite(led4, HIGH);
break;
case 5:
digitalWrite(led5, HIGH);
break;
case 6:
digitalWrite(led6, HIGH);
break;
case 7:
digitalWrite(led7, HIGH);
break;
case 8:
digitalWrite(led8, HIGH);
break;
case 9:
digitalWrite(led9, HIGH);
break;
case 10:
digitalWrite(led10, HIGH);
break;
}
}
void apagarLED(int numLED) {
switch (numLED) {
case 1:
digitalWrite(led1, LOW);
break;
case 2:
digitalWrite(led2, LOW);
break;
case 3:
digitalWrite(led3, LOW);
break;
case 4:
digitalWrite(led4, LOW);
break;
case 5:
digitalWrite(led5, LOW);
break;
case 6:
digitalWrite(led6, LOW);
break;
case 7:
digitalWrite(led7, LOW);
break;
case 8:
digitalWrite(led8, LOW);
break;
case 9:
digitalWrite(led9, LOW);
break;
case 10:
digitalWrite(led10, LOW);
break;
}
}