Wake up from sleep from pressed button?
attachInterrupt(digitalPinToInterrupt(0), interrupt, LOW);


should be either 

attachInterrupt(0, interrupt, LOW);


or 

attachInterrupt(digitalPinToInterrupt(2), interrupt, LOW);


As pin 0 is not an interrupt pin. Also the button is connected to pin 2, not pin 0. digitalPinToInterrupt(0) would actually return -1.