sbi (ADCSRA, 1);
cbi (ADCSRA, 0);
cbi (ADCSRA, 0);
This appears to set 2 of the 3 analog clock prescaler bits. One of them twice. Why?
attachInterrupt(digitalPinToInterrupt(interruptPin), piezo, RISING);
...
detachInterrupt(1);
These are different interrupts. It fails to disengage the interrupt you are actually using and that is why the LCD is messed up.