#define MAX_BOUNCE_TIME_KNOCK 100

volatile bool knockDetected = false;

void setupPiezo(){
  pinMode(pinInterruptPiezo, INPUT);
  attachInterrupt(digitalPinToInterrupt(pinInterruptPiezo), checkKnockISR, RISING);
}

void checkKnockISR(){
  static unsigned long previousKnockTime = 0;
  unsigned long nowTimeKnock = millis();
  if(nowTimeKnock-previousKnockTime > MAX_BOUNCE_TIME_KNOCK)
  {//knock
    knockDetected = true;
    previousKnockTime = nowTimeKnock;
    KnockTrigger();
  }
}

void KnockTrigger()
{

}

void loopPiezo()
{
  if(knockDetected)
    {
      knockDetected=false;
      Score();
    }
}