Problems with calibration.

Why do you think you need an interrupt to detect the switch press? Why is the interrupt called over and over while the switch is LOW? Typically, you want the interrupt called ONCE when the pin becomes LOW.

Why are some pin numbers assigned names and some not?

  digitalWrite(buttonPin, HIGH);

This appears to be trying to set the state of an input pin. Why would you be doing that? More importantly, why is an output pin called buttonPin? Switches are NOT output devices.