Delay tot de waarde veranderd

Kijk hier eens naar: https://www.arduino.cc/en/Tutorial/BuiltInExamples/Debounce, dat is waarschijnlijk jouw probleem.

En je leest ook 2 keer buttonpin in dezelfde iteratie;

buttonread = digitalRead(buttonpin); // <------------------------- Hier
temp = analogRead(temppin);
...
if (buttonread == 0) {// als drukknop gedruk is
buttonread = digitalRead(buttonpin); // <------------------------- En hier

Dat is waarschijnlijk ook niet nodig.