#include <Arduino.h>
int vector [5] = {25,26,27,32,33}; // DECLARO LOS PINES DEL MICRO
int i;
#define pulsador 12 // DECLARO PULSADOR
long tiempo_actual = 0; // VARIABLE LONG TIEMPO ACTUAL
volatile int velocidad; // VARIABLE ACEPTA MODIFICACIONES
const int aumentavelocidad = 20;
const int minima = 400;
void setup() {
Serial.begin(9600);
velocidad = minima; // VELOCIDAD VALE 400
pinMode(pulsador, INPUT_PULLUP);
for (i = 0; i<5; i++){
pinMode(vector[i], OUTPUT);
}
attachInterrupt(digitalPinToInterrupt(pulsador), isr_funcion, RISING);
}
void loop() {
for(i= 0; i< 5; i++){
digitalWrite(vector[i], 1);
delay(velocidad);
digitalWrite(vector[i], 0);
delay(velocidad);
}
for(i=4; i>=0; i--){
digitalWrite(vector[i], 1);
delay(velocidad);
digitalWrite(vector[i], 0);
delay(velocidad);
}
if (velocidad < 40){
velocidad = minima;
}
}
void isr_funcion(){
if (millis() - tiempo_actual >= 200){
Serial.println("SE ACTIVA LA INTERRUPCION");
velocidad = velocidad - aumentavelocidad;
Serial.println(velocidad);
tiempo_actual = millis();
}
}