Problem with displaying a coin value on an lcd 16x2

odometer:
Also, why all the delays in your code? In particular, why delay for two whole seconds in coinInserted()?

+1

The hallmarks of an ISR are: 1. it does one or a few very (computationally) simple things and therefore, 2. it's fast. The preferred approach is to set a flag in the ISR and handle the detected condition somewhere in loop() code.

Try adding one or more Serial.print statements to monitor the accepted coin value as you go along.