cambiamonete problema con impulsi da lettore banconote

scusate se mi intrometto...non capisco perchè 2 volte su 3 la prima scritta che appare nel monitor seriale riporta OFF !?...dovrebbe essere ON..giusto!?

prova con questo sketch...che in pratica ogni 5 secondi ti scrive il tempo intercorso tra un impulso ed un altro in microsecondi....massimo 40 impulsi...quindi banconota da 20 Euro...:

#define INPUTPIN 3
byte myIndex;
volatile unsigned long oldMicros;
volatile unsigned long myArray[40];

void setup() {
  Serial.begin(9600);
  pinMode(INPUTPIN, INPUT);
  myIndex = 0;
  for (byte i = 0; i < sizeof(myArray) / sizeof(long); i++) {
    myArray[i] = 0;
  }
  attachInterrupt(digitalPinToInterrupt(INPUTPIN), coinsPulseCount, RISING);
  oldMicros = micros();

}

void loop() {
  if (micros() - oldMicros >= 5000000) {
    for (byte i = 0; i < sizeof(myArray) / sizeof(long); i++) {
      Serial.println(myArray[i]);
      myArray[i] = 0;
    }
    myIndex = 0;
    oldMicros = micros();
    Serial.println("");
  }

}

void coinsPulseCount() {
  if (myIndex == 0) {
    myArray[myIndex] = 0;
    oldMicros = micros();
    myIndex++;
  }
  else {
    myArray[myIndex] = micros() - oldMicros;
    oldMicros = micros();
    myIndex++;
  }
}

ATTENZIONE: uso il PIN 3 come PIN di verifica impulso...l'impulso deve essere positivo, cioè dare i 5 volt; verifica il cablaggio...cioè vedere se realmente Arduino riconosce i 5 volt come tali.