#define MAX_APERTURA
int n_giri_per_apertura = 20;
int tempo_apertura = 2000;
int numero_apertura = 0;
volatile int n_giri=0;
void setup() {
// put your setup code here, to run once:
pinMode(12, OUTPUT);
pinMode(2, INPUT);
attachInterrupt(0,giro_completato,RISING);
}
void loop() {
if (n_giri == n_giri_per_apertura){
Serial.print(n_giri);
digitalWrite(12, 1);
n_giri = 0;
n_giri_per_apertura+=n_giri_per_apertura;
delay(tempo_apertura);
tempo_apertura+=tempo_apertura;
digitalWrite(12, 0);
numero_apertura++;
if(numero_apertura == MAX_APERTURA)
detachInterrupt(0);
}
}
void giro_completato(){
n_giri++;
}