// Attach an interrupt to the ISR vector
attachInterrupt(0, digitalPinToInterrupt(buttonPin), CHANGE);
void loop(){delay(1000);}
You know, instead of having a loop() function which does nothing, it would be so much better to make this function check the pin repeatedly (thousands of times per second) and then you don't need an interrupt.
void loop2() {
You should really give your functions names which describe what they do. Any time you have a number in a function name, you're probably doing it wrong.
You should also know that any time you're in an interrupt (on in a function called from an interrupt) then interrupts don't work. Some libraries depend on interrupts, such as the Serial library. Do all this stuff in the main loop() function.