int pin_boton = 13;
//al principio habia puesto que los leds fueran un array tambien y por eso me fallaba el código
//no pueden ser un array pq luego no puedo indicar que esten apagados o encendidos como una variable normal
//puestos como array no eran capaces de apagarse los leds pq no me detectaba el (ledx, LOW)
int led1 = 2;
int led2 = 4;
int led3 = 7;
int led4 = 8;
//hago un array para tener diferentes patrones de parpadeo. 1 es HIGH 0 es LOW.
int patron1[] = {1, 0, 1, 0, 1};
int patron2[] = {0, 1, 1, 0, 1};
int patron3[] = {1, 0, 0, 1, 0};
int patron4[] = {1, 1, 0, 0, 1};
int duracion1 = 100;
int duracion2 = 300;
void setup() {
Serial.begin(9600);
pinMode(pin_boton, INPUT); //el boton es una entrada de información, por eso input
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop() {
//añado variable para poder manejar el estado del botón
int estado_boton = digitalRead(pin_boton);
if(estado_boton == LOW){
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
Serial.println("Botón apagado");
//con variable i accedo a valores de array
for (int i=0; i<5; i++) {
digitalWrite(led1, patron1[i]);
delay(duracion1);
digitalWrite(led2, patron2[i]);
delay(duracion1);
}
} else{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
Serial.println("Botón encendido");
for (int i=0; i<5; i++){
digitalWrite(led3, patron3[i]);
delay(duracion2);
digitalWrite(led4, patron4[i]);
delay(duracion2);
}
}
}