Beh, intanto che ci sei, prova pure questo
const byte coinSelectorPin = 3;
volatile byte coinPulseCount = 0;
volatile unsigned long pulseTime;
volatile unsigned long pulseTimeA;
void setup()
{
Serial.begin(9600);
pinMode(coinSelectorPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(coinSelectorPin), coinacceptor, FALLING);
}
void loop() {
if (coinPulseCount == 40 ) // 40 impulsi
{
Serial.print("milliSec ");
Serial.println(pulseTime - pulseTimeA);
coinPulseCount = 0;
}
}
void coinacceptor() {
if (coinPulseCount == 0 ) {
pulseTimeA = millis() ;
}
coinPulseCount++;
pulseTime = millis() ;
}